系分 – 操作系统

操作系统的类型:批处理,分时,实时, 络操作系统和分布式操作系统。

操作系统具有的五大功能:处理器管理,存储管理,设备管理,文件管理和作业管理。不管任何类型的操作系统都有这样的分配。

现代的操作系统大多拥有两种工作状态:核心态和用户态。我们一般的应用程序工作在用户态,而内核模块和最基本的操作系统核心工作在核心态。

操作系统的结构可以分为无序结构,层次结构,面向对象结构,对称多处理结构和微内核结构。

进程

进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成。

PCB,PCB是进程存在的唯一标志,是进程的一个组成部分,是一种记录型数据结构。内容包含进程标识符、状态、位置信息、控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等。

进程与程序

进程与程序的区别:进程是程序的一次执行过程,没有程序就没有进程。

程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。

进程与线程

进程的2个基本属性:可拥有资源的独立单位,可独立调度和分配资源的基本单位。

一般情况下,一个进程会包含多个线程。

例题1

进程 – PCB

PCB的组织形态 描述
线性表形式 把所有的PCB组织在一张线性表中,每次查找需要扫描全表
这种方式适用于系统中进程数目不多的情况
索引表形式 是线性表形式的改变,将同一状态的进程归入一个索引表
多个状态对应多个不同的索引表
链接表形式 把具有同一状态的PCB用其中的链接字链接成一个队列
PCB存储在一个连续的区域

进程管理 – 进程状态

例题2解析与答案

? 答案:C C

? 解析:典型索引表形式,进程状态也如图描述

进程管理 – 同步与互斥

如何区分同步与互斥p>

互斥,千军万马过独木桥,同类资源的竞争关系

同步,速度有差异,在一定情况停下等待,进程之间的协作关系

互斥,主要讲的是同类资源的竞争关系

一个进程在执行过程中,可能要停下来等等其他的进程,这就是同步(会有类似选择题)

多个进程共享一台打印机,典型互斥

消费者消费商品后生产者生产商品才可以投入市场,属于同步关系

典型例题

注:P是荷兰语的Passeren,V是荷兰语的Verhoogo。

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

P操作表示申请一个资源,负责获得资源并阻塞,V操作表示释放一个资源。

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

PV操作由P操作原语和V操作原语组成(原语是不可中断的过程)。

PV操作的意义:我们用信 量及PV操作来实现进程的同步和互斥。

信 量:是一种特殊的变量(全局的),习惯用大写S表示。

大部分情况下(没有事先说明),信 量S的初始值会被认为是1,1代表初始情况下有资源进行分配调用。

对信 量进行操作,具体定义如下:

P操作(请求分配一个资源):

  1. 将信 量S的值减1,即 S = S – 1
  2. 如果S >= 0,则该进程继续执行,否则该进程进入等待状态

V操作(释放一个资源):

  1. 将信 量S的值加1,即S = S + 1
  2. 如果S > 0,该进程继续执行,否则表示在等待队列中有某些进程正在等待该资源,需要唤醒等待

典型例题

例题3解析与答案

? 答案:D A C

? 解析:S1 = 0,S2 = 0,P1和P2并发执行开始

? 并发执行,代表可以从任何一个程序段开始,结果是一样的。

? 所以假设P1先执行

? P1执行到V(S1),a = 2,此时S1 = S1 + 1 >>> S1 = 1,V操作后S1 > 0继续执行

? P1执行到P(S2),c = 7,此时S2 = S2 – 1 >>> S2 = -1,P操作后S2

? P2开始执行

? P2执行到P(S1),b = 3,此时S1 = S1 – 1 >>> S1 = 0,P操作后S1 >= 0继续执行

? P2执行到V(S2),b = 5,此时S2 = S2 + 1 >>> S2 = 0,V操作后S2

? 由于是非抢占式调度,所以P2会继续执行

? P2继续执行,c = 12,P2执行结束,P1等待中继续再执行,a = 14

? 最终结果:a = 14,b = 5,c = 12

? 知识点:阻塞的进程会被先唤醒进入等待执行状态,并不只是直接就绪运行

? 如有兴趣,可以从P2先执行,结果也是一样,请自行验证

例题4

例题5

例题6

例题7解析与答案

? 答案:C A

? 解析:

例题8解析与答案

? 答案:B

? 解析:n个进程,每个进程最大需要W个资源,那么需要满足 m > n * (w – 1) 即可,所以B选项不满足

进程管理 – 银行家算法

银行家算法分配资源的原则

  1. 当一个进程对资源的最大需求量不超过系统中的资源数时,可以接纳该进程
  2. 进程可以分期请求资源,但请求的总数不能超过最大需求量
  3. 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源

典型例题:假设系统中有三类互斥资源R1、R2、R3,可用资源分别是9、8、5。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如下所示,如果进程按___序列执行,那么系统状态是安全的。

? 从上面中获得,由于R1剩余2,R2剩余1,R3剩余0,只能满足P2和P4的再需求资源数

? 所以排除掉选项A,验证B选项:P2→P4→P5→P1→P3。

? (R1剩 2R2剩1 R3剩0)分配给P2还需(0 1 0) >>> (R1剩2 R2剩0 R3余0),P2进程结束返还(R1剩4 R2剩2 R3余1)

? (R1剩4 R2剩2 R3余1)分配给P4还需(0 0 1) >>> (R1剩4 R2剩2 R3余0),P4进程结束返还(R1剩5 R2剩4 R3余1)

? (R1剩5 R2剩4 R3余1)分配给P5还需(2 3 1) >>> (R1剩3 R2剩1 R3余0),P5进程结束返还(R1剩6 R2剩5 R3余4)

? (R1剩6 R2剩5 R3余4)分配给P1还需(5 3 1) >>> (R1剩1 R2剩2 R3余3),P1进程结束返还(R1剩7 R2剩7 R3余5)

? (R1剩7 R2剩7 R3余5)分配给P3还需(6 0 1) >>> (R1剩1 R2剩7 R3余4),P1进程结束返还(R1剩9 R2剩8 R3余5)

? 根据以上步骤,确定B选项没有问题,每次分配剩余资源数都满足需求,其他选项也可以同样方式验证。

? 比如,我们验证C选项:P2→P1→P4→P5→P3,同上步骤:

? (R1剩 2R2剩1 R3剩0)分配给P2还需(0 1 0) >>> (R1剩2 R2剩0 R3余0),P2进程结束返还(R1剩4 R2剩2 R3余1)

? (R1剩4 R2剩2 R3余1)分配给P1还需(5 3 1) >>> R1资源和R2资源不够分配,故C选项为不安全序列

例题9

逻辑地址 = 页 + 页内地址,物理地址 = 页帧 + 页内地址

页式存储(细节问题):将程序与内存均划分为同样大小的块,以页为单位将程序调入内存
计算步骤 1 逻辑地址拆分为:页 + 页内地址
2 页 = 逻辑地址/页大小 页内地址 = 逻辑地址%页大小
3 使用页表进行页 和物理块 对应映射
4 物理地址 = 物理块 *页大小 + 页内地址
页大小/块大小的基本单位是B字节,注意题目单位转换
二进制、十进制和十六进制的区别,注意简便算法

页式存储主要考察,逻辑地址转换物理地址,注意各个进制的简便算法

典型例题:逻辑地址2100B(字节),页大小 = 块大小 = 1024B p>

解:页面 = 2100/1024 = 2,从逻辑页 列表中对应寻找2页 对应的物理块 (比如对应物理块 是8)

? 页内地址 = 2100 % 1024 = 52,则物理地址 = 8 * 1024 + 52 = 8244

例题10

例题11解析与答案

? 答案:C D

? 解析:此题为十进制的逻辑地址,页大小为512字节

? 用A的逻辑地址1111,1111 / 512 = 2,结果“2”即是页

? 通过“进程A页表”中对应“2”的页 对应物理块 “4”,所以选C

? 第2空,A页的逻辑页4和B页的逻辑页5共享物理页8,对应的地方分别填8、8,选D

? 注,简便算法

? 可以将1111转换成二进制数“10001010111”,又因为页大小为512字节

? 512是2的9次方,根据(逻辑地址 = 页 + 页内地址)

? 那么“10001010111”后9位为页内地址,前面的2位“10”为页

? 二进制页 “10”,转换十进制为“2”,根据“进程A页表”页 “2”对应物理块 “4”

典型例题:如下图

例题12解析与答案

? 答案:A B

? 解析:页面大小是4K,也就是2的12次方,代表页内地址为12位

? 十六进制数5148H,十六进制数每位数上对应的是一个2的3次方,后三位“148”代表是页内地址

? 所以前1位“5”为逻辑页 ,从图表中获得,页 “5”对应页帧 (物理块 )为“3”

? 根据(物理地址 = 页帧 + 页内地址),得到物理地址为十六进制数“3148H”,选项A

? 第2问,页面6不在内存,同理页面0、3、4也不在内存中,需要淘汰的有页面1、2、5、7

? 页面1、2、5、7,观察“访问位”只有页面2访问位为0(未被访问),可以淘汰,选项B

存储管理 – 段式存储/分段存储(非连续空间)

段式存储 == 分段存储

分段式存储管理系统中,为每个段分配一个连续的分区,而进程中的各个段可以离散地分配到主存的不同分区中。

在系统中为每个进程建立一张段映射表,简称为“段表”。每个段在表中占有一个表项,在其中记录了该段在主存中的起始地址(又称为“基址”)和段的长度。进程在执行时,通过査段表来找到每个段所对应的主存区。

段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。

优点:多道程序共享内存,各段程序修改互不影响。

缺点:内存利用率低,内存碎片浪费大。

例题13解析与答案

? 答案:D C

? 解析:依据“偏移量不能超过段长”的判断标准,将4个选项带入图表中进行验证即可

? 所以,选项D(0,810),810超过段 0的段长800

? 第2问,不能转换的原因,逻辑地址向物理地址转换时地址越界

存储管理 – 段页式存储管理(非连续空间)

段页式系统的基本原理是先将整个主存划分成大小相等的存储块(页框),将用户程序按程序的逻辑关系分为若干个段,并为每个段赋予一个段名,再将每个段划分成若干页,以页框为单位离散分配。在段页式系统中,其地址结构由段 、段内页 和页内地址三部分组成。

段页式存储:段式与页式的综合体。先分段,再分页。1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段的大小不同。

优点:空间浪费小、存储共享容易、存储保护容易、能动态连接。

缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。

文件在逻辑上一定是连续的,在物理上可以是分散的。

文件的逻辑结构,方便用户使用;文件的物理结构,在物理设备的存放方式。

此部分经常考察逻辑 与物理 的计算转换,采取的具体什么类型索引,计算文件长度等等

直接索引范围:索引块数量 * 索引块大小

一级间接索引范围:(磁盘数据块(物理盘块)大小 / 地址项大小)* 索引块大小

二级间接索引范围:(磁盘数据块(物理盘块)大小 / 地址项大小)的2次方 * 索引块大小

三级间接索引范围:(磁盘数据块(物理盘块)大小 / 地址项大小)的3次方 * 索引块大小

典型例题:某文件系统文件存储采用文件索引节点法。假设文件索引节点中有8个地址项iaddr[0]~iaddr[7],每个地址项大小为4字节,其中地址项iaddr[0]~iaddr[5]为直接地址索引,iaddr[6]是一级间接地址索引,iaddr[7]是二级间接地址索引,磁盘索引块和磁盘数据块大小均为4KB。该文件系统可表示的单个文件最大长度是( )KB,若要访问iclsClient.dll文件的逻辑块 分别为6、520和1030,则系统应分别采用( )。

解:直接索引范围:6 * 4KB = 24KB

? 直接索引范围的逻辑块 :24KB / 4 == 6 >>> 0 ~ 5,对应存有5个物理块

? 一级索引范围:(4KB / 4字节) * 4KB = 4096KB

? 一级索引范围的逻辑块 :4096KB / 4 == 1024 >>> 6 ~ 1029,对应存有1024个物理块

? 二级索引范围:(4KB / 4字节) 2 * 4KB = 4194304KB,逻辑块 :1030以上,包括1030

? 文件长度:24KB + 4096KB + 4194304KB = 4198424KB

例题14

例题15解析与答案

? 答案:A D

? 解析:直接索引范围:6 * 1KB = 6KB

? 直接索引范围的逻辑块 :6KB / 1 == 6 >>> 0 ~ 5,对应存有5个物理块

? 一级索引范围:(1KB / 4字节) * 1KB = 256KB(对应逻辑块 :(256KB / 1 == 256) >>> 6 ~ 261)

? 一级索引范围的逻辑块 :256KB / 1 == 256 >>> 6 ~ 261,对应存有256个物理块

? 二级索引范围:(1KB / 4字节)2 * 1KB = 65536KB,逻辑块 :262以上

? 所以,逻辑块 0在直接地址索引,260在一级地址索引,518在二级地址索引

? 文件最大长度 = 6KB + 256KB + 65536KB = 65798KB

文件管理 – 位示图

位示图法。该方法是在外存上建立一张位示图(Bitmap),记录文件存储器的使用情况。每一位仅对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。

例题16解析与答案

? 答案:C B

? 解析:注意,这种题目如果没有给定基础条件,默认的认为字要从1开始算,位要从0开始算

? 2053 物理块,因为是0开始排序,那么2053“ ”物理块它应该在第2054“个”物理块

? 用2054除以字长32等于64余6,也就是代表需要64个字放不下,取天花板数应该是65“个”字

? 第65“个”字,因为是从0开始编 排序,所以第65“个”字应该是第64“ ”上,故先C

? 第2问,余数是6,又因为是0开始编 排序,所以位 5位置应该是“1”表示,故选B

例题17

例题18解析与答案

? 答案:B C

? 解析:考察“程序中断方式”。

例题19

例题20解析与答案

? 答案:D

? 解析:考察DMA的特点

设备管理 – I/O管理软件

例题21解析与答案

? 答案:D

? 解析:略

SPOOLing技术

SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为”假脱机技术”。

SPOOLing技术(虚拟输入输出设备常用到的技术)先放入到磁盘缓冲区,再放入到设备区,它是在磁盘上开辟响应的区域,所以缓冲区是外存。

SPOOLing技术将一台独享打印机改造为可供多个用户共享的打印机。

SPOOLing技术特点:

  1. 输入井和输出井,在磁盘上开辟出来的两个存储区域,用于存放I/O设备输入的数据和用户程序向设备输出的数据
  2. 输入缓存区和输出缓冲区,在内存中开辟的两个缓冲区。输入缓冲区用户暂存输入设备送来的数据,再送入输入井;输出缓冲区暂存从输出井送来的数据,再传送到输出设备
  3. 输入进程和输出京城,负责传输输入输出的数据
  4. 提高了I/O速度,通过对输入井和输出井的操作,缓和了主机和外设速度不匹配的矛盾
  5. 设备没有直接和用户进程关联
  6. 实现虚拟设备,多个进程同时使用一个逻辑设备,每个进程都认为自己独占了设备

微内核

  • 微内核就是对操作系统进行瘦身,只保留最为基本的功能。普通的操作系统内核包括了进程,存储,设备,文件,任务管理五个部分,而在微内核操作系统中,已对其进行了裁剪,文件系统,通信,外设管理都放到操作系统之外去处理了。
  • 现代操作系统大多拥有两种工作状态,分别是核心态和用户态。一般应用程序工作在用户态,而内核模块和最基本的操作系统核心工作在核心态。因为在微内核中,核心态功能少了,很多原本属于操作系统的操作放到了用户态去实施了。
  • 微内核系统的安全性,可靠性得到了提升。微内核操作系统在分布式中有着广泛的应用,它也成为了微内核操作系统的最大优势。
  • 当然微内核操作系统中,一个任务需要不断的在用户态和核心态直接切换来完成,频繁地切换效率自然不会很高。

将传统的操作系统代码放置到更高层,从操作系统中去掉尽可能多的东西,而只留下最小的核心,称之为微内核(C/S结构)。

例题22解析与答案

? 答案:A

? 解析:略

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2023年1月3日
下一篇 2023年1月3日

相关推荐