第4章:操作系统

article/2025/6/26 22:19:02

操作系统目的是:为了填补人与机器之间的鸿沟,即建立用户与计算机之间的接口,而为裸机配置的一种系统软件。

系统软件:编辑程序、汇编程序、编译程序、数据库管理系统等

操作系统在计算机系统中的地位:

程序与进程

程序顺序执行时的主要特征包括:顺序性、封闭性(程序在封闭的环境下运行,即程序运行时独占全机资源,程序一旦开始执行其执行结果不受外界因素影响)和可再现性。

前趋图:有向无循环图

PV操作

信号量s:为0或1,一个前趋关系对应一个信号量

程序并发执行时的主要特征包括:

失去了程序的封闭性

程序和机器的执行程序的活动不再一一对应

并发程序之间的相互制约性

前驱图

进程的状态和状态间的转换

三态模型

在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化,因此进程一般有3种基本状态:运行、就绪和阻塞。

运行:当一个进程在处理机上运行时。

就绪:一个进程获得了除处理机外的一切所需资源,一旦得到处理机(CPU)即可运行(还未得到)。

阻塞(等待或睡眠):进程一开始是运行的,中途因为正在等待某一事件发生而暂时停止运行,这时即使把处理机分配给进程也无法运行(撤销CPU)。

进程间的通信

在多道程序环境的系统中存在多个可以并发执行的进程,故进程间必然存在资源共享和相互合作的问题。进程通信是指各个进程交换信息的过程。

同步和互斥

同步:合作进程间的直接制约问题。

  进程间的同步:是指在系统中一些需要相互合作,协同工作的进程,这样的相互联系称为进程的同步。

  例如,进程A向缓冲区送数据,进程B从缓冲区取数据加工,当进程B要取数据加工时,必须是进程A完成了向缓冲区送数据的操作,否则进程B必须停下来等待进程A的操作结束。

互斥:申请临界资源进程间的间接制约问题。

  进程间的互斥:是指系统中多个进程因争用临界资源而互斥执行。

 临界资源:在多道程序系统环境中,那些一次只能供一个进程使用的资源。如打印机、共享变量和表格等。

临界区管理的原则(吃饭):

临界区:是进程中对临界资源实施操作的那段程序。

对互斥临界区管理的4条原则如下:

有空即进:当无进程处于临界区时,允许进程进入临界区,并且只能在临界区运行有限的时间。

无空则等:当有一个进程在临界区时,其他欲进入临界区的进程必须等待,以保证进程互斥地访问临界资源。

有限等待:对于要求访问临界资源的进程,应保证进程能在有限的时间进入临界区,以免陷入饥饿状态。

让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入忙等状态

信号量机制

信号量机制是一种有效的进程同步与互斥工具。

信号量机制主要有:

- 整型信号量

- 记录型信号量

- 信号量集机制

整型信号量:

信号量是一个整型变量,根据控制对象的不同被赋予不同的值。信号量分为如下两类:

- 公用信号量:实现进程间的互斥,初值为1或资源的数目。

- 私用信号量:实现进程间的同步,初值为0或某个正整数。

信号量 S 的物理意义:

- S ≥ 0:表示某资源的可用数,此时有可用资源;

- S<0:则其绝对值表示阻塞队列中等待该资源的进程数,此时无可用资源,并且有进程被阻塞。

PV操作

PV操作:实现进程同步与互斥的常用方法。

P操作和V操作是低级通信原语,在执行期间不可分割。其中:

P操作(减):表示申请一个资源;

  定义:S := S−1(S表示信号量)

  - S ≥ 0:执行P操作的进程继续执行;

  - S<0:无可用资源,置该进程为阻塞状态,并将其插入阻塞队列。

V操作(加):表示释放一个资源。

  定义:S := S+1

  - S > 0:执行V操作的进程继续执行;

  - S<=0:表示释放前有程序被阻塞,从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。

利用PV操作实现进程的互斥:

1. 令信号量的初始值为1;

2. 进入临界区:执行P操作;

3. 退出临界区:执行V操作。

利用PV操作实现进程的同步(生产者和消费者):

实现进程的同步可用一个信号量与消息联系起来。

Isempty初值为1,isfull初值为0

生产者:

p(isempty)和v(isfull)

消费者:

p(isfull)和v(isempty)

信号量的值:

- 为0:表示希望的消息未产生;

- 非0:表示希望的消息已经存在。

死锁

当有 n 个进程,m个资源,且每个进程所需要的资源数为k,并且系统采用的分配策略是轮流地为每个进程分配资源时,判断是否发生死锁的公式如下:

m >= n *(k-1)+1

进程资源图

先分配,再申请

不存在死锁就可以化简。

死锁的处理策略主要有4种:鸵鸟策略(即不理睬策略)、预防策略、避免策略和检测与解除死锁。

死锁避免:银行家算法:当一个进程申请使用资源的时候,如果发现分配给该进程资源后的系统处于不安全状态,则不予分配,让该进程继续等待。

线程

传统进程有两个基本属性:

可拥有资源的独立单位;

可独立调度和分配的基本单位。

引入线程的原因是:系统要为进程付出较大的时空开销。引入线程后,将传统进程的两个基本属性分开:

- 线程:作为调度和分配的基本单位;

- 进程:作为独立分配资源的单位。

线程的特点:

- 线程基本上不拥有资源,只拥有一点运行中必不可少的资源(如程序计数器、一组寄存器和栈),它可与同属一个进程的其他线程共享进程所拥有的全部资源。

- 线程也具有就绪、运行和阻塞3种基本状态。

- 线程可创建另一个线程。

- 同一个进程中的多个线程可并发执行。

存储管理

程序局部性原理

程序的局限性表现在以下两个方面:

- 时间局限性:

  - 如果程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行;

  - 如果某个存储单元被访问,则不久以后该存储单元可能再次被访问。

  产生时间局限性的典型原因是在程序中存在着大量的循环操作

- 空间局限性:指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问。

  即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型原因为程序是顺序执行

页面变换表:(先淘汰在内存中为0的)

分页存储管理

16位,4位页号(逻辑页地址),12位(4K)页内地址(物理页地址)

段页式存储管理

最多有多少个段,每段最大允许有多少个页,页的大小为多少

缓冲技术

单缓冲工作过程图:

双缓冲工作过程图:

N个作业,输入时间T,传送时间M,处理时间C

单缓冲计算公式为:(T+ M)*n + C  (C<T)

双缓冲计算公式为:T*n+M+C  (M+C<T)

磁盘调度算法(移臂调度算法)

- 先来先服务(FCFS):根据进程请求访问磁盘的先后次序进行调度。

- 最短寻道时间优先(SSTF,最短移臂算法):该算法选择与当前磁头(移动臂)所在的磁道距离最近的进程,使得每次的寻道时间最短。

- 扫描算法(SCAN,电梯调度算法):总是从磁头当前位置开始,沿磁头的移动方向去选择离当前磁头最近的那个柱面的请求。如果沿磁头的方向无请求访问时,就改变磁头的移动方向。

- 单向扫描算法(CSCAN,循环扫描算法):扫描算法的改进,算法规定磁头只做单向移动。

旋转调度算法(可优化)

多级索引结构

文件目录

- 文件控制块(FCB):用于文件的描述和控制的数据结构,实现了文件的“按名存取”。

  文件控制块至少要包括文件名和存放文件的物理地址。

  文件控制块也称为文件的说明或文件目录项(简称目录项)。

- 文件目录:文件控制块的有序集合。

  即文件目录是由文件控制块组成的,专门用于文件的检索。

文件控制块中包含以下信息:

- 基本信息类:例如文件名、文件的物理地址、文件长度和文件块数等。

- 存取控制信息类:文件的存取权限。

- 使用信息类:文件建立日期、最后一次修改日期、最后一次访问的日期、当前使用的信息(如打开文件的进程数、在文件上的等待队列)等。

目录结构

组织好文件的目录是设计文件系统的重要环节,文件目录结构的组织方式直接影响到文件的存取速度,关系到文件的共享性和安全性。

常见的目录结构有:

- 一级目录结构

- 二级目录结构

- 多级目录结构:在多道程序设计系统中常采用多级目录结构。

  多级目录结构是树型目录结构。从根结点向下,每一个结点是一个目录,叶结点是文件。

  在采用多级目录结构的文件系统中,用户要访问一个文件,必须指出文件所在的路径名:

  路径名

  - 绝对路径名:指从根目录开始的完整路径。

  - 相对路径名:从当前所在目录开始(也可以不要当前目录)到其他目录或文件的路径。

全文件名:指绝对路径名加上该文件的文件名。

位示图

位示图用二进制的一位来表示一个物理块的使用情况:

位示图是一种空闲空间管理方法。通过在外存上建立一张位示图,记录文件存储器的使用情况。

0表示空闲;

1表示占用。

左边是逻辑编号(字号),右边是物理块编号(一位对应一个物理块)。

位示图的大小由磁盘空间的大小(物理块总数)决定。位示图的描述能力强,适合各种物理结构。

补充:

I/O设备管理软件层次(自上向下):用户进程,与设备无关的系统软件、设备驱动程序、中断处理程序、硬件

嵌入式os的特点:微型化、可定制易移植性、实时性、可靠性

中断和进程无关(和i/o有关)

FAT文件系统用基于文件的簇状链式结构文件管理结构。

磁盘清理和碎片处理不会清除有用数据,磁盘分区会。

相对路径名前没有‘/’,绝对路径前有‘/’。(后面‘/’可有可无)


http://www.hkcw.cn/article/XEdOfwUktx.shtml

相关文章

可靠性方框图绘制说明

下载安装绘制软件&#xff08;Isograph&#xff09;&#xff1a; Isograph Reliability Workbench 14.0 链接&#xff1a;https://pan.baidu.com/s/1owsSJWLtkqAQhbpWdK8keA?pwd49iu 提取码&#xff1a;49iu 制作可靠性方框图 创建RBD&#xff08;可靠性方框图&#xff…

Nougat:用于学术文档的神经光学理解

摘要 科学知识主要以PDF形式存储于书籍和科学期刊中。然而&#xff0c;PDF格式会导致语义信息的丢失&#xff0c;尤其是在数学表达式方面。我们提出了Nougat&#xff08;Neural Optical Understanding for Academic Documents&#xff09;&#xff0c;这是一种Visual transfor…

移除3D对象的某些部分点云

1&#xff0c;目的 移除3D对象指定区域的点云。效果 2&#xff0c;原理。 通过投影剔除指定区域外的点云数据。 3&#xff0c;主要的算子。 3.1&#xff0c;gen_image_gray_ramp 是 Halcon 中用于生成‌线性灰度渐变图像‌的算子 功能概述‌ 数学原理‌ 生成的图像灰度值…

达芬奇(DaVinci Resolve)下载安装教程

目录 一、软件介绍 二、软件下载 2.1 浏览器访问官网 2.2 进行软件包下载 三、软件安装 3.1 解压软件包 3.2 安装软件 四、基本配置 4.1 语言设置 4.2 其他设置 一、软件介绍 达芬奇&#xff08;DaVinci Resolve&#xff09;视频调色软件。DaVinci Resolve汇集剪辑、…

教室门口160cm是小学生低头线 高中版引发热议

教室门口160cm是小学生低头线!5月27日,山东济宁某高中教室内发生了一件有趣的事情。课间休息时,一位老师注意到学生们普遍较高,旁边正好站着一个身高182厘米的男生,于是老师以他为参照,在教室门口贴上一条胶带作为身高线。结果发现,不少男生经过时都需要低头,这一现象迅…

印尼力邀中企深化产业下游化 共创可持续发展

在印尼谈到与中国的经贸合作,“下游化”是最常提到的词。印尼国土辽阔,镍矿资源的储量和产量皆名列全球第一。坐拥全球绿色能源转型的关键金属,印尼吸引了大量全球投资者。单纯出口原始矿藏对当地就业帮助甚少,且由于附加值低,对印尼财政增收贡献有限。为此,印尼近10年来…

《天下第一楼》迎第600场演出 经典传承再续辉煌

6月2日晚,由何冀平编剧,夏淳、顾威、闫锐导演的北京人艺经典话剧《天下第一楼》在首都剧场迎来第600场演出。北京人艺院长冯远征当天再次强调了“深入生活、体验生活”对创作者的重要性。这部作品讲述了上个世纪初北京城饮食界老字号饭庄“福聚德”在时代变迁中的兴衰史。自1…

2022年上半年软件设计师下午试题

答案&#xff1a; 试题一&#xff1a; 试题二&#xff1a; 试题三&#xff1a; 试题四&#xff1a; 试题五: 试题六&#xff1a;

前端高频面试题2:JavaScript/TypeScript

1.什么是类数组对象 一个拥有 length 属性和若干索引属性的对象就可以被称为类数组对象&#xff0c;类数组对象和数组类似&#xff0c;但是不能调用数组的方法。常见的类数组对象有 arguments 和 DOM 方法的返回结果&#xff0c;还有一个函数也可以被看作是类数组对象&#xff…

花卉目标检测数据集介绍(共 12 类,10490 张图像)

在计算机视觉与智能农业快速发展的背景下&#xff0c;基于深度学习的花卉识别与检测技术正被广泛应用于植物分类、智能园艺、自动监测与生态研究等多个领域。为了推动花卉类目标检测任务的发展&#xff0c;本文介绍一个包含 12 种常见花卉类别的目标检测数据集&#xff0c;总计…

linux学习第18天(fork函数)

pid_t fork(void)&#xff1a;创建一个子进程 成功&#xff1a;父进程返回子进程pid 子进程返回0&#xff08;创建成功&#xff09; 失败&#xff1a;-1 getpid/getppid 举个例子&#xff0c;顺便演示getpid和getppid 子进程只能执行fork之后的代码&#xff0c;并且同时争夺c…

Pycharm的终端无法使用Anaconda命令行问题详细解决教程

很多初学者在Windows系统上安装了Anaconda后&#xff0c;在PyCharm终端中运行Conda命令时&#xff0c;会遇到以下错误&#xff1a; conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保…

关税政策推进受阻 特朗普政府求助上诉法院

当地时间6月2日,美国特朗普政府请求联邦上诉法院阻止此前哥伦比亚特区联邦地区法院裁定其关税政策“违法”的命令。当地时间5月29日,位于首都华盛顿的哥伦比亚特区联邦地区法院就特朗普政府依据《国际紧急经济权力法》对多国加征的关税措施发布初步禁令。该裁决针对美国两家小…

如何看待乌称摧毁大量俄战略轰炸机 俄方反驳称战果夸大

乌克兰国家安全局6月1日在社交媒体上宣布,对位于西伯利亚地区的俄罗斯轰炸机基地进行了袭击。乌方表示,此次行动目标精准,约34%的俄罗斯战略轰炸机遭到攻击,俄方战略航空兵损失高达70亿美元。行动由乌克兰总统泽连斯基亲自协调,安全局局长马柳克率队实施。泽连斯基高度评价…

刘若钒:很遗憾因伤不能和大家一起并肩战斗了,兄弟们加油 伤病阻挡国家队梦想

北京时间6月2日,中国男足公布了出征印尼客场的25人名单,刘若钒因伤未能入选。刘若钒在社交媒体上表达了遗憾:“重回国家队是对我这半年在海港表现的认可,但很遗憾因伤不能和大家一起并肩战斗了。”他同时表示,为国家队比赛一直是他的梦想,希望队友们加油,为中国队助威。…

俄乌谈判草草结束 细看条件都够狠 双方态度强硬

乌克兰在发动无人机袭击后,与俄罗斯在土耳其进行了第二轮和谈。谈判持续了大约一个小时便匆匆结束。土耳其方面表示,谈判以“非消极”的方式结束。5月16日进行了第一轮谈判,6月2日进行了第二轮谈判。预计第三轮谈判将在两周后进行,期间双方可能还会继续交战。双方态度都十分…

山东10岁失联男孩确认溺水身亡 搜救努力未果

6月2日,滕州市公安局发布警情通报。5月31日22时35分许,孔某某报警称其外孙赵某某(10岁)于当日17时许离家后失联。接警后,公安机关迅速调阅监控、走访群众,并联合当地政府和社会救援力量,采用搜救警犬和无人机等手段持续开展搜寻。6月2日15时许,在邻村一河道内发现赵某某…

PID项目-记事本不显示下划线

在安装安装keil5的插件的时候想要更改路径&#xff0c;用记事本打开的时候下划线都不见了&#xff0c;使用缩放&#xff0c;把100%缩放成90%就又出现了

AIGC工具平台-GPT-SoVITS-v4-TTS音频推理克隆

声音克隆与语音合成的结合&#xff0c;是近年来生成式AI在多模态方向上的重要落地场景之一。随着预训练模型能力的增强&#xff0c;结合语音识别、音素映射与TTS合成的端到端系统成为初学者可以上手实践的全流程方案。 围绕 GPT-SoVITS-v4-TTS 模块&#xff0c;介绍了其在整合…

Cherry Studio 和 Dify 如何接入MCP 服务

这里以魔搭社区的MCP 广场为例,进行介绍 一、Cherry Studio 接入 MCP服务教程 1. 第一步:访问魔搭社区官网 魔搭社区官网 点击上方链接进入魔搭社区官网后,点击MCP广场。 2.第二步:选择要接入的MCP服务(这里以 ‘今天吃什么’ 为例) 点击图中标注的连接,然后点击下…