操作系统笔记
1、操作系统是什么
操作系统是管理硬件和软件的一种应用程序。操作系统是运行在计算机上最重要的一种软件,它管理计算机的资源和进程以及所有软硬件。为计算机提供一种中间层,使得应用软件和硬件进行分离,让我们无需关注硬件的实现,更多关注软件应用。

通常计算机都运行着许多程序,它们都需要对内存和CPU进行交互,操作系统的目的就是为了保证这些操作可以准确无误的进行。
1. 内核与外壳分别是什么?
-
内核就是能操作硬件的程序
-
内核管理系统的进程、内存、设备驱动程序、文件、网络等,决定着系统的性能和稳定性
-
-
外壳就是围绕内核的应用程序
2、操作系统的主要功能
(1)进程管理:
进程管理的主要作用就是进程调度,在单核CPU下,操作系统会为每个进程分配一个任务,进程管理十分简单。在多核CPU下,操作系统除了要为进程分配任务外,还需要解决处理器的调度,分配和回收等。
(2)内存管理:
内存管理主要是操作系统负责管理内存的分配、回收,在进程需要时分配内存以及在进程结束时回收内存,协调内存资源,使用合理的页面置换算法进行页面的换入换出。
(3)设备管理:
根据确定的设备分配原则对设备进行分配,使设备和主机可以并行的工作
(4)文件管理:
有效管理文件的存储空间,合理地组织和管理文件系统,为文件访问和文件保护提供有效的手段
(5)提供用户接口:
操作系统提供了访问应用程序的硬件的接口,使用户能够通过应用程序发起系统调用从而操纵硬件,实现需要的功能。
3、IO操作的方式
选择判断IO控制方式有三条原则
1、数据传送速度快,能满足用户的需求但不丢失数据
2、系统开销小,所需的处理控制程序少
3、能充分发挥硬件资源的能力,使IO设备繁忙,让CPU等待时间更少
根据上述原则IO操作分四类
1、直接访问:
直接访问由用户进程直接控制主存或CPU和外围设备的信息传送。直接程序控制方式又称为忙/等待方式。
2、中断驱动:
为了减少CPU等待时间引入中断机制。中断机制引入后,外围设备仅当操作正常结束或异常结束时才向CPU发出中断请求。在I/O设备输入每个数据的过程中,无需CPU干预,一定程度实现CPU和I/O并行工作。
3、DMA直接内存访问:
为了进一步减少CPU对I/O设备的干预,防止因并行操作设备过多使CPU来不及处理或因速度不匹配而造成的数据丢失现象,引入DMA控制方式。
4、通道控制方式:
通道是独立于CPU的专门负责输入输出控制的处理机,他控制设备与内存直接进行数据交换。拥有通道指令,这些指令由CPU启动,并在操作结束时向CPU发出中断信号。
4、操作系统的目的
1,管理计算机资源,包括CPU、内存、磁盘驱动器、打印机等。
2,提供一种图形界面,是用户和计算机之间的桥梁。
3,为其他软件服务,操作系统和软件交互,为软件提供其运行时所需要的必要资源。
相关文章:
操作系统笔记
1、操作系统是什么 操作系统是管理硬件和软件的一种应用程序。操作系统是运行在计算机上最重要的一种软件,它管理计算机的资源和进程以及所有软硬件。为计算机提供一种中间层,使得应用软件和硬件进行分离,让我们无需关注硬件的实现ÿ…...
两个wordpress网站共用一个数据库的数据表
在WordPress中,如果你想要两个不同的网站调用同一个数据表,你可以通过以下几种方法实现: 方法一:使用共享数据库 1. 设置共享数据库: – 确保两个WordPress网站都可以访问同一个数据库。 – 在数据库服务器上创建一…...
工具方法 - 面试中回答问题的技巧
在面试中,回答问题的技巧尤为重要。它不仅展示了你的知识和能力,还体现了你处理压力和沟通的技巧。以下是一些在面试中常用的回答技巧,以及如何在这些场合有效地回应问题的示例: 1. 抓住问题的核心 面试官通常会提出直接的问题&a…...
频繁full gc问题排查及解决
为什么我们要对频繁full gc的情况进行处理---》频繁full gc会导致stw,影响用户体验。 (1)先进行问题的排查 如果频繁full gc 会报警,公司有自己的监控平台,可以查看full gc的情况 如果公司没有自己的监控平台&#…...
昇思学习打卡营第33天|基于MindSpore的恶性皮肤肿瘤识别
1. 实验介绍 本次实验的目标是基于MindSpore框架,训练一个ResNet50模型,用于恶性皮肤肿瘤的分类识别。本实验将使用包含四类皮肤肿瘤图片的数据集,针对ResNet50模型进行微调,训练出一个能够精准分类皮肤病的模型。主要过程包括数据…...
基于SpringBoot+Vue的网约车管理系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
Java、PHP、ASP、JSP、Kotlin、.NET、Go
Java 1995年,Java诞生了,微软的Java是J#,早期是J. 它在C的基础上增强了安全性,不允许多重继承,堆栈不允许类对象,数组和枚举都是类对象。 Java的诞生 早期的Sun公司想要在消费级嵌入式设备编写可移植的代码…...
华为-单臂路由
1、什么是单臂路由 单臂路由(Single-Arm Routing)是一种网络架构和配置技术,它允许路由器通过一个物理接口来管理多个虚拟局域网(VLAN)之间的通信。 这个物理接口被配置为Trunk模式,以便能够传输来自不同VL…...
AI应用的东风,奥特曼不想错过
文|魏琳华 编|王一粟 作为炙手可热的AI公司,Open AI又一次拿到了一轮足以令对手眼红的巨额融资。10月2日,Open AI宣布顺利完成66亿美元融资,补上了烧钱研发亏损的同时,还为下一轮竞争拿到了资金支持。 跻…...
LeetCode[中等] 238. 除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂…...
Linux plt表调用汇编代码分析
linux调用共享库中的函数时通过plt表和got表实现位置无关代码,过程中涉及到lazy binding,即在第一调用外部函数时解析被调用的函数地址并将地址写入到got表,后续调用则不需要解析函数地址,具体过程如下 1.c程序如下 #include &l…...
ubunut声卡配置 播放视频没有声音的解决方法 蓝牙问题
文章目录 🌕ubuntu22.04网页没有声音,声卡提示Dummy Output🌙方法一:切换内核🌙方法二:UBUNTU 声卡提示Dummy Output或伪输出解决办法(2020.04.02🌙方法三:解决Ubuntu18.…...
《软件工程概论》作业一:新冠疫情下软件产品设计
课程说明:《软件工程概论》为浙江科技学院2018级软件工程专业在大二下学期开设的必修课。课程使用《软件工程导论(第6版)》(张海藩等编著,清华大学出版社)作为教材。以《软件设计文档国家标准GBT8567-2006》…...
大厂出来的人为什么不比你高效?
在最近参加的一个线下聚会上,有人问我:“我们单位有来自阿里、腾讯、华为这些大厂的人,为什么我没觉得他们做事比我们这些没大厂经历的人更有章法和效率?”你别说,这一问所反映的现象,与我在阿里巴巴工作时…...
71.【C语言】动态内存管理(重点)(4)
本文为数据结构打下基础 备注:数据结构需要掌握指针,结构体和动态内存管理 目录 6.常见的动态内存的错误 1.对空指针解引用 2.对动态空间的越界访问 3.对非动态内存空间进行free释放 4.使用free只释放开辟的内存空间的一部分 5.对同一块动态内存多次释放 6.动态开辟的…...
JavaScript 用HTML5约束验证API做表单验证
一、验证属性与通过与否 以下为在表单元素上的可用属性: required<boolean> 必填字段,接受布尔值,默认false pattern<string> 接受正则,用户输入的文本必须满足该正则表单元素对象上有checkValidity()方法ÿ…...
Unity 编辑器多开
开发多人联机的功能时大多数会遇到测试机不方便的问题。想多开同一个项目Uinty又禁止。。。因为在使用Unity Editor打开一个项目时,Unity Editor会在项目目录建立一个Temp目录,同时对里面的一个UnityLockfile文件进行加锁。SO...可以使用以下方法进行多开…...
【Spring Boot React】Spring Boot和React教程 完整版
【Spring Boot & React】Spring Boot和React教程 在B站找到一个不错的SpringBoot和React的学习视频,作者是amigoscode 【Spring Boot & React】Spring Boot和React教程 2023年更新版【Spring Boot React】价值79.9美元,全栈开发,搭…...
Linux中的多线程
Linux线程概念 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序 列” 进程是系统分配资源的基本实体 线程是CPU调度的基本单位 POSIX线程库 创建线程 功能:创建一个新的线程 原…...
《计算机原理与系统结构》学习系列
系列文章目录 一、计算机概要与技术 二、指令:计算机的语言(上) 三、指令:计算机的语言(中) 四、指令:计算机的语言(下) 五、计算机的算数运算(上&#…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
