4.1 操作系统相关概念
主要掌握一些概念层级的内容
考点1:操作系统的作用
点2:特殊的操作系统
4.1.1 操作系统-基本概念.
操作系统作用:
- 管理系统的硬件、软件、数据资源
- 控制程序运行
- 人机之间的接口
- 应用软件与硬件之间的接口
操作系统特征:并发性、共享性、虚拟性和不确定性。
操作系统功能
- 进程管理
- 存储管理
- 文件管理
- 作业管理
- 设备管理
计算机系统的层次结构如下图所示,基于硬件之上的软件可分为 a、b和c三个层次。图中 a、b和c分别表示 ( )。.
A 操作系统、系统软件和应用软件
B 操作系统、应用软件和系统软件
C 应
系统软件和操作系统
D 应用软件、操作系统和系统软件
答案 C
4.1.2 操作系统-特殊的操作系统
分类 | 特点 |
---|---|
批处理操作系统 | 单道批:一次一个作业入内存,作业由程序、数据、作业说明书组成 多道批:一次多个作业入内存,特点:多道、宏观上并行微观上上串行 |
分时操作系统 | 采用时间片轮转的方式为多个用户提供服务,每个用户感觉独占系统 特点:多路性、独立性、交互性和及时性 |
实时操作系统 | 实时控制系统和实时信息系统 交互能力要求不高,可靠性要求高(规定时间内响应并处理) |
网络操作系统 | 方便有效共享网络资源,提供服务软件和有关协议集合 主要的网络操作系统有Unix、Linux和Windows Server 系统 |
分布式操作系统 | 任意两台计算机可以通过通信交换信息 是网络操作系统的更高级形式,具有透明性、可靠性和高性能等特性 |
微机操作系统 | Windows:Microsoft开发的图形用户界面、多任务、多线程操作系统 Linux:免费使用和自由传播的类Unix操作系统,多用户、多任务、多线程和多CPU的操作系统 |
嵌入式操作系统 | 运行在智能芯片环境中 特点:微型化、可定制(针对硬件变化配置)、实时性、可靠性、易移植性(HAL和BSP支持) |
从减少成本和缩短研发周期考虑,要求嵌入式操作操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置。该要求体现了嵌入式操作系统的 ( )。
A 可定制性 B 实时性 C 可靠性 D 易一致性
答案 A
4.2 进程管理
考点1:线程的概念
点2:进程的状态
4.2.1 概念
程管理 – 进程的概念
进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成。
PCB: 是进程存在的唯一标志。内容包含进程标志符、状态、位置信息、控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等。
程管理 – 进程与程序
进程与程序的区别:进程是程序的一次执行过程,没有程序就没有进程。
程序是一个静态的概念,而进程是一个动态概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。
程管理 – 进程与线程
进程的两个基本属性:可拥有资源的独立单位;可独立调度和分配资源的基本单位。
在支持多线程的操作系统中,假设进程P创建了若干个线程,那么 ( )是不能被这些线程共享的。
A 该进程中打开的文件
B 该进程的代码段
C 该进程中某线程的指针栈
D 该进程的全局变量
答案 C
程管理 – 进程的状态(3态).
运行:当一个进程在 CPU 上运行时(单处理机处于运行态的进程只有一个)。
就绪:一个进程获得了除CPU外的一切所需资源,一旦得到CPU即可运行。
阻塞:阻塞也称等待或睡眠状态,一个进程正在等待某一事件发生(例如I/O等待I/O完成)而暂时停止运行,即使此时把CPU分配给进程也无法运行,故称进程处于阻塞状态。
程管理 – 进程的状态(5态)
挂起原因:
- 进程过多,主存资源不足,此时必须将某些进程挂起,放到磁盘对换区,暂时不参与调度,以平衡系统负载。
- 系统出现故障,或者是用户调试程序,也需要将进程挂起检查问题。
练习题
1.在单处理机系统中,采用先来先服务调度算法。系统中有4个进程P1、P2、P3、P4(假设进程按此顺序到达),其中P1为运行状态,P2为就绪状态,P3和P4为等待状态,且P3等待打印机,P4等待扫描仪。若 P1(),则P1、P2、P3、P4的状态应分别为 ( )。
A 时间片到 B 释放了扫描仪 C 释放了打印机 D 已完成
A 等待、就绪、等待和等待 B 运行、就绪、运行和等待 C 就绪、运行、等待和等待 D 就绪、就绪、等待和运行
答案 A 、C
4.2.2 进程调度
考点1:PV操作的概念
点2:信号量与PV操作
考点3:前驱图与PV操作
PV操作的概念
程管理 – 进程的同步与互斥
◆临界资源:诸进程间需要互斥方式对其进行访问的资源。同一时间只能给一个进程使用的资源。
◆临界区:进程中访问临界资源的那段代码称为临界区。
程管理 – PV操作
信号量:是一种特殊的变量
号量可以表示资源数量
号量为负数时还可以表示排队进程数。
P 是荷兰语 Passeren,V 是荷兰语 Verhoog。
例子: 例如有进程1、进程2、进程3,且S=1(表示有一个资源)
- 进程1 P操作 S = S – 1 = 1 – 1 = 0 判断 S < 0 为假,进程往下执行
- 进程2 P操作 S = S – 1 = 0 – 1 = -1 判断 S < 0 为真,进程阻塞,并加入阻塞队列,此时阻塞队列有1个进程
- 进程3 P操作 S = S – 1 = -1 – 1 = -2 判断 S < 0 为真,进程阻塞,并加入阻塞队列,此时阻塞队列有2个进程
- 进程1临界区执行完成 V操作 S = S + 1 = -2 + 1 = -1 判断 S <= 0 为真,从阻塞队列取出进程2,并使进程2进入就绪状态,此时阻塞队列有1个线程
- 进程2获得CPU资源并执行
- 进程2临界区执行完成 V操作 S = S + 1 = -1 + 1 = 0 判断 S <= 0 为真,从阻塞队列取出进程3,并使进程3进入就绪状态,此时阻塞队列无进程
- 进程3获得CPU资源并执行
- 进程3临界区执行完成 V操作 S = S + 1 = 0 + 1 = 1 判断 S <= 0 为假
例题:
PV操作是操作系统提供的具有特定功能的原语。利用PV操作可以( ).
A 保证系统不发送死锁
B 实现资源的互斥操作
C 提高资源利用率
D 推迟进程使用共享资源的时间
答案 B
假设系统中有 n 个进程共享3台扫描仪,并采用PV操作实现进程同步与互斥。若系统信号量S的当前值为-1,进程 P1、P2又分别执行了1次P(S)操作,那么信号量S的值应该为()。
A 3 B -3 C 1 D -1
答案是 B
信号量与PV操作
程管理 – PV操作与互斥模型
多个进程共享一台打印机的问题(互斥模型):
- P(S) /li>
- 使用打印机; /li>
- V(S) /li>
- 后续代码
互斥信号量:S的初始值为1。
程管理 – PV操作与同步模型
单缓冲区生产者、消费者问题(同步模型)
同步信号量:S始值为1,S始值为0
题1:假设铁路自动售票系统有n个售票终端,该系统为每个售票终端创建一个进程Pi(i=1,2,…,n)管理车票销售过程。假设(j=1,2,…,m)单元存放某日某趟车的车票剩余数,Temp为Pi进程的临时工作单元,x为某用户的购票张数。Pi进程的工作流程如下所示,用P操作和V操作实现进程间的同步户互斥。初始化时系统应将信号量S赋值为( )。图中(a)(b)(c)处应分别填入()。
A n-1 B 0 C 1 D 2
A V(S)、P(S)和P(S) B P(S)、P(S)和V(S) C V(S)、V(S)和P(S) D P(S)、V(S)和V(S)
答案 C、D
前驱图与PV操作
用包饺子的步骤来绘制前驱图
-
检查前驱活动有没有完成,使用P操作(例如,搅拌过程检查绞肉、切葱末、切姜丝有没有完成)
-
通知后继活动已完成,使用V操作(绞肉、切葱末、切姜丝通知搅拌已完成)
-
箭头流出的是V操作、流入的是P操作
转换成PV操作图
- 有几个前驱,就进行几个检查操作
- 有几个后继,就通知几次
例题1:进程P1、P2、P3、P4的前驱图如下所示:
若PV操作控制进程P1、P2、P3、P4和P5的并发执行过程,则需要设置5个信号S1、S2、S3、S4和S5,且S1~S5的初值都等于0,。下图中a和b处应分别填();c和d处应分别填写();e和f处应分别填写()。
A. V(S1) P(S2) 和 V(S3) B. P(S1) V(S2) 和 V(S3) C. V(S1) V(S2) 和 V(S3) D. P(S1) P(S2) 和 V(S3)
A. P(S2)和P(S4) B. P(S2)和V(S4) C. V(S2)和P(S4) D. V(S2)和V(S4)
A. V(S4) P(S4) 和 V(S5) B. V(S5) P(S4) 和 P(S5) C. V(S3) V(S4) 和 V(S5) D. P(S3) P(S4) 和 V(S5)
答案 C、B、B
分析:结合前驱图和执行图,画出下图,并分析
例题2:假设某计算机系统中只有一个CPU、一台输入设备和一台输出设备,若系统中有四个作业T1、T2、T3和T4,系统采用优先级调度,且T1的优先级 > T2的优先级 > T3的优先级 > T4的优先级,。每个作业Ti具有三个程序段:输入Ii、计算Ci和输出Pi(i=1,2,3,4),其执行顺序为 Ii -> Ci ->Pi。这四个作业个程序段并发执行的前驱图。图中1、2分别为(),3、4、5分别为()。
A.I2、P2
B.I2、
C2 C.C1、P2
D.C2、P3
A.C2、C4、P4
B.I=I2、I3、I4
C.I3、P3、P4
D.I3、C4、P4
答案是 C、D
4.2.3 死锁
所谓死锁,是指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。
死锁的4大条件:
- 互斥
- 保持和等待
- 不剥夺(系统不剥夺进程的资源)
- 环路等待
死锁的处理:
- 死锁的预防:打破4大条件(有序资源分配法、静态资源分配)
- 死锁的避免:银行家算法
- 死锁的检测与解除:定时运行死锁检测程序,若检测到有死锁,则设法加以解除(资源剥夺、撤销进程法)。
- 鸵鸟策略:不予理睬
银行家算法,分配资源的原则
- 当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
- 进程可以分期请求资源,但请求的总量不能超过最大需求量
- 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果进程在等待一件不可能发生的事,则进程就死锁了。而如果多个进程产生死锁,就会造成系统死锁。
- w :每个进程需要的资源数
- m:进程数
例:系统有5个进程:A、B、C、D、E。这5个进程都需要四个资源。如果系统至少有多少个资源,则不可能发生死锁,
(4-1)*5+1 = 16
- 即至少有16个资源,则不可能发生死锁。
- 当有≤3个资源的时候,则一定会死锁。
- 当有4~15个资源的时候,则可能会避免死锁,也有可能会出现死锁。
题1:某计算机系统中互斥资源R的可用数为8,系统中有3个进程P1、P2和P3竞争R,且每个进程都需要i个R,该系统可能会发生死锁的最小i值为( )。
A.1
B.2
C.3
D.4
答案 D
4.2.4 进程资源图
第一步:了解进程资源图中图形的含义
第二步:了解阻塞节点以及非阻塞节点
- 阻塞节点:进程申请资源得不到满足
- 非阻塞节点:系统有足够的空闲资源分配给该进程
第三步:了解什么是进程资源图是否可化简
- 先看系统还剩下多少资源没分配,再看有哪些进程是不阻塞(“不阻塞”即:系统有足够的空闲资源分配给它)的
- 把不阻塞的进程的所有边都去掉,形成一个孤立的点,再把系统分配给这个进程的资源回收回来
- 看剩下的进程有哪些是不阻塞的,然后又把它们逐个变成孤立的点。
- 最后,所有的资源和进程都变成孤立的点。这样的图就叫做“可完全简化”。
在如下所示的进程资源图中,()。
A.P1、P2、P3都是非阻塞节点,该图可以化简,所以是非死锁的。
B.P1、P2、P3都是阻塞节点,该图不可以化简,所以是死锁的。
C.P1、P2是非阻塞节点,P3是阻塞节点,该图不可以化简,所以是死锁的。
D.P2是阻塞节点,P1、P3是非阻塞节点,该图可以化简,所以是非死锁的。
答案 D。
4.3 存储管理
点1:页式存储
点2:段式存储
点3:段页式存储
4.3.1 页式存储
式存储:将程序与内存划分为同样大小的块,以页为单位将程序调入内存。
物理块号又称页帧号。
逻辑地址 = 页号 + 页内地址
物理地址 = 页帧号 + 页内地址
例如,页式存储系统中,每个页的大小为4KB,逻辑地址: 10 1100 1101 1110,则它的物理地址为/p>
- 每个页的大小为4KB,则页内地址需要 212 Bit来存放,即12位2进制存放。10 1100 1101 1110
- 逻辑地址由页号 + 页内地址组成,上面的逻辑地址去除页面地址后,(10)2 为页号
- 根据上图页表,页号为2的对应的物理块号为 4 = (100)/li>
- 所以物理地址为 110 1100 1101 1110
优点:利用率高,碎片小,分配及管理简单。
缺点:增加了系统开销;可能产生抖动现象。
般系统分配给程序的内存页数是不够用的,当程序要访问的页面在内存中不存在时,就会产生缺页中断,此时需要等待系统将缺失的页面调入内存中。
上述的页表是简略的,真实的页表内容如下:
页号(逻辑) | 页帧号(物理) | 状态位 | 访问位 | 修改位 |
---|---|---|---|---|
0 | 2 | 1 | 1 | 0 |
1 | 3 | 1 | 0 | 1 |
2 | 5 | 1 | 1 | 0 |
3 | - | 0 | 0 | 0 |
4 | - | 0 | 0 | 0 |
5 | 6 | 1 | 1 | 1 |
- 页号:高级程序语言中使用
- 页帧号:内存中使用
- 状态位:1在内存中 0不在内存中
- 访问位:1最近访问过 0最近未被访问
- 修改位:1内容被修改过 0内容未被修改
若需要使用 3号页,但内存中没有对应的物理页,则需要淘汰一些已存在的物理页,淘汰原则:
- 首先淘汰访问位为0的页面
- 若有多个访问位位0的页面,则淘汰修改位为0的页面
面置换算法
优算法(Optimal,OPT)算法 ,理想型
进先出(FIFO)算法:有可能产生”抖动“。例如,432143543215序列,用3个页面,比4个缺页少
近最少使用(LRU)算法:不会抖动,LRU的理论依据是"局部性原理"。
近未使用(NUR)算法
例题:某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构。如果物理页的大小为1K字节,那么进程A中逻辑地址为1024(十进制)的变量存放在()号物理内存中。假设进程A的逻辑页4与进程B的逻辑页5要共享物理页4,那么应该在进程A的逻辑页4与进程B的逻辑页5对应的物理页初分别填写()。
A.8 B.3 C.5 D.2
A.4、4 B.4、5 C.5、4 D.5、5
答案 B、A
物理页的大小为1K ,表示地址是使用10位来表示。 1024 = 1 00 0000 0000。去除12位后,逻辑页为 (1)= 1。
由进程A的页表得知,1对应的物理页号为3,所以第一项选择 B。
4.3.2 段式存储
段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。
-
根据段表中的【段长】可以判断是否是合法地址。 合法地址不能超过段长。
例如:段号为0,合法地址段为(0,25K),非法地址段为(0,35K)
逻辑地址 = 段号 + 段内偏移量
优点:多道程序共享内存,各程序修改互不影响
缺点:内存利用率低,内存碎片浪费大
假设某进程的段表如下所示,逻辑地址()可以转换为对应的物理地址。
A (0,1597)、(1,30)和(3,1390)
B (0,128)、(1,30)和(3,1390)
C (0,1597)、(1,98)和(3,1390)
D (0,128)、(1,98)和(3,1066)
答案: B
4.4 设备管理
4.4.1 磁盘管理
普通的机械硬盘就属于磁盘。
磁盘结构图如下
- 磁道:磁盘上,一圈一圈的就是磁道。
- 扇区:将磁盘的中角度相同的部分划分为一个扇区。
存取时间 = 寻道时间 + 等待时间(平均定位时间 + 转动延迟)
注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。
读取磁盘数据的时间应包括以下三个部分:
- 寻找磁道时间
- 找块(扇区)的时间,即旋转延迟时间。
- 传输时间。
某磁盘磁头从一个磁道移至另一个磁道需要10ms。文件在磁盘上非连续存放,逻辑爱上相邻的数据块的平均移动举例为10个磁道,每块的旋转延迟及传输时间分别为 100ms和2ms,则读取一个100块文件需要()ms时间。
A 10200 B 11000 C 11200 D 20200
答案是 D
分析:一块文件读取需要 (10*10 + 100 + 2)= 202 ,100块需要 20200
常用的磁盘驱动调度算法如下:
来先服务(FCFS):最简单的磁盘调度算法,根据访问的先后顺序进行调度。优点是公平、简单,缺点是平均寻道时间较长。
短寻道时间优先(SSTF):该算法选择这样的进程,其要求访问的磁道与当前磁头所在磁道距离最近,使得每次寻道时间最短。但它不能保证平均寻道时间最短。
描算法(SCAN):又称电梯调度算法,磁头是双向移动的,磁头移动方向为从里->外,然后再从外到里,如此循环。这种算法不仅要考虑访问磁道与当前磁道的距离,还要考虑磁头的移动方向。
向扫描算法(CSCAN):磁头是单向移动的,磁头移动方向是从里到外。
磁盘旋转调度算法:
- 进程请求访问的是同一磁道上不同编号的扇区。 首先到达磁头位置下的扇区先进行传送操作。
- 进程请求访问的是不同磁道上不同编号的扇区。 首先到达磁头位置下的扇区先进行传送操作。
- 进程请求访问的是不同磁道上相同编号的扇区。 任选一个磁头位置下的扇区先进行传送操作。
例题1:假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为15us,由缓冲区送至用户区的时间是5us,系统对每个磁盘块数据的处理时间为1us。若用户需要将大小为10个磁盘块的Docl文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为()us;采用双缓冲区需要花费的时间为()us。
A 150 B 151 C 156 D 201
A 150 B 151 C 156 D 201
答案 D、C
分析:
因为是单缓冲区,不能同时执行;
可以将整个操作分成2步,【a.盘块读入缓冲区和缓冲区送至用户区(20us) 】和【b.数据处理(1us)】,a、b构成了流水线根据流水线计算公式(花费时间 = 整个指令时间 + (n-1)x周期),所以整个时间为 (20+1)+20*(10-1)=201
因为是双缓冲区,可以将整个操作分成3步,【a.盘块读入缓冲区15us】、【b缓冲区送至用户区5us 】和【c.数据处理1us】,a、b、c构成了流水线根据流水线计算公式(花费时间 = 整个指令时间 + (n-1)x周期),所以整个时间为 (15+5+1)+15*(10-1)=156
例题2:假设磁盘臂位于15号柱面上,进程的请求序列如下表表示,如果采用最短移臂调度算法,那么系统的响应序列应为( )
A、①②③④⑤⑥
B、⑤①②④③⑥
C、②③④⑤①⑥
D、④②③⑤①⑥
答案是 B
分析:采用最短移臂调度算法,就是查找离当前磁道最近的磁道,由上图可知 离15最近的是 12(①⑤),其次是19(②④)、23(③)、28(⑥),所以答案是B
例题3:假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录。逻辑记录R0,R1, · · ·,R9,R10存放在同一个磁道上,记录的存放顺序如下表所示:
物理块 1 2 3 4 5 6 7 8 9 10 11 逻辑记录 R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 如果磁盘的旋转周期为 33 ms,磁头当前处在 R0 的开始处。若系统使用单缓冲区顺序处理这些记录,每个记录处理时间为 3 ms,则处理这11个记录的最长时间为 ();若对信息存储进行优化分布后,处理11个记录的最少时间为()。
A. 33ms B. 336ms C. 366ms D. 376ms
A. 33ms B. 66ms C. 86ms D. 93ms
答案 C、B
分析:
旋转周期为33,一共有11个物理块,每个物理块的旋转周期是3。
- 当读取并处理完第0块是,一共花费了 3+3=6。
- 此时磁头旋转到了R2开始处,若要读取R1,则还需要旋转10个物理块(30),再加上读取和处理时间一共是36.
- R3~R10与R2处理类似,所以总共花费的时间是 6 + 36*10 = 366
对信息存储进行优化分布后如下所示,此时的读取时间就为 6*11=66
4.4.2 IO管理
- 硬件:完成具体的I/O操作。
- 中断处理程序:I/O完成后唤醒设备驱动程序。
- 设备驱动程序:设置寄存器,检查设备状态。
- 设备无关I/O层:设备名解析、阻塞进程、分配缓冲区。
- 用户进程:发出I/O调用。
I/O设备管理软件一般分为4个层次,如下图所示。图中①②③分别对应( )。
A.设备驱动程序、虚设备管理、与设备无关的系统软件
B.设备驱动程序、与设备无关的系统软件、虚设备管理
C.与设备无关的系统软件、中断处理程序、设备驱动程序
D.与设备无关的系统软件、设备驱动程序、中断处理程序
答案 D
4.5 文件管理
点1:文件相关概念
点2:树形目录结构(绝对路径/相对路径)
点3:位示图
点4:索引文件
4.5.1 文件相关概念
件:具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。
辑结构:
有结构的记录式文件、无结构的流式文件。
理结构:连续结构、链接结构、索引结构、多个物理块的索引表。
文件目录:
-
文件目录项/文件的说明/文件控制块FCB
基本信息类:文件名、文件的物理地址、文件长度和文件块数
存储控制信息类:文件的存储权限(读写、执行权限等)
文件属性:只执行、隐含、读/写、共享、系统
使用信息类:文件建立时间、最后一次修改/访问日期、当前使用的信息(打开文件的进程数以及在文件上的等待队列等)。
-
目录结构
一级目录结构:线性结构,查找速度慢,不允许重名和实现文件共享等
二级目录结构:主文件目录(MFD) + 用户目录(UFD)
三级目录结构:树型目录结构(多级目录结构),Window使用三级目录结构
若系统在将( )文件修改的结果写回磁盘时发生崩溃,则对系统的影响相对较大。
A.目录 B.空闲块 C.用户程序 D.用户数据
答案 A
4.5.2 树形目录结构(绝对路径/相对路径)
多级目录允许不同用户的文件可以具有相同的文件名。
对路径:是从盘符开始的路径。
对路径:是从当前目录开始的路径。
当前目录为D1,要求写出 F2路径,则:
- 绝对路径:/D1/W2/F2
- 相对路径:W2/F2
文件名:绝对路径+文件名
若某文件系统的目录结构如下图所示,假设用户要访问文件rw.dll,且当前工作目录为swtools,则该文件的全文件名为( 1 ),相对路径和绝对路径分别为( 2 )。
来源:陈建111
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!