操作系统练习题答案练习题一一、单项选择题1.B 2.C 3.D 4.D 5.D6.C 7.B 8.C 9.A 10.A11.D 12.D 13.A 14.D 15.C16.C 17.C 18.A 19.B 20.B21.C 22.B 23.C 24.D 25.D26.D 27.C 28.B 29.A 30.B31.C 32.C 33.B 34.D 35.C36.A 37.D 38.C 39.D 40.B41.C 42.D 43.D 44.C 45.C二、填空题1.虚拟性2.软件资源3.并发4.进程控制块或PCB5.就绪6.执行状态7.段页式存储管理8.缓冲池9.文件控制块或FCB 10.链路加密11.资源;用户12.直接制约;间接制约13.就绪;执行或运行14.用户程序;物理内存15.设备控制器16.访问权17.并发性18.数据段19.n-1 20.请求和保持条件、占有且申请条件21.对换性22.设备无关性或设备独立性23.有结构文件;无结构文件24.程序接口或系统调用25.防火墙三、判断题1.×2.×3.×4.√5.×6.√7.×8.√9.×10.√11.√12.√13.√14.×15.√16.×17.√18.×19.×20.×21.×22.×23.√24.×25.√26.√27.×28.×29.√30.√四、简答题1.什么是进程上下文?答:进程执行活动全过程的静态描述。
包括计算机中与执行该进程有关的各寄存器的值、程序段在经过编译之后形成的机器指令代码集(正文段)、数据集、各种堆栈和PCB结构。
2.死锁产生的原因和条件分别是什么?答:原因:1)竞争资源。
当系统中供多个进程共享的资源不足时,将引起进程对资源的竞争的而产生死锁。
2)进程推进顺序非法。
进程在运行过程中具有异步性特征,如果它们之间的推进顺序不当,也同样会导致进程产生死锁。
死锁产生的必要条件:1)互斥条件。
进程所竞争的资源必须被互斥使用。
2)请求和保持条件。
指进程在保留自己已经获得的资源的同时再次申请其他资源。
3)不剥夺条件。
进程已经获得的资源只能在使用完时自行释放。
4)环路等待条件。
存在一个至少饮食两个进程的循环等待链,链中的每个进程都正在等待下一个进程所占有的资源。
3.在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?答:有4种情况。
1)回收区与插入点的前一个分区相邻接。
此时将回收区与插入点的前一个分区合并,不再为回收区分配新表项,而只需将前一个回收区的大小加上回收区的大小即可。
2)回收区与插入点的后一个分区相邻接。
此时将回收区与插入点后的分区合并,也不再为回收区分配新表项,而只需将回收区的首地址作为新的首地址,其大小是二者之和。
3)回收区与插入点前后各一个分区相邻接。
此时将回收区与这两个分区合并,其首地址保留为前一个分区的首地址,大小是三者大小之和。
不仅不为回收区分配新表项,而且还需将后一个分区的表项删除。
4)回收区不与任何分区相邻接。
此时需要为回收区分配一个新表项,将回收区的首地址和大小填入其中。
4.目前常用的磁盘调度算法有哪几种?每种算法优先考虑的问题是什么?答:目前常用的磁盘调度算法有三种,包括FCFS、SSTF和SCAN。
它们优先考虑的问题分别如下:FCFS算法,即先来先服务算法,优先考虑请求的先后次序。
SSTF算法,即最短寻道优先,优先考虑寻道时间短的请求。
SCAN算法,即扫描算法,主要从寻道较短且无“饥饿”现象两方面考虑。
目前该算法又发展了多个修正版本,电梯调度算法就是其中之一。
5.什么死锁?死锁产生的必要条件是什么?答:死锁是指一组并发进程,它们共享系统的某些资源,该组进程中每个进程都已经占有了部分资源,但都不释放自己已经占有资源的情况下要求获得被其他进程已经占有的资源,从而造成它们相互等待,永远不能继续推进的一种状态。
死锁产生的必要条件:互斥条件、请求保持条件、不剥夺条件、环路等待条件。
6.什么是抖动?产生抖动的原因是什么?答:1)抖动是由于内存空间竞争引起的。
当需要将一个新页面调入内存时,因内存空间紧张,不得不将一个老页面置换出去,而刚刚置换出去的老页面可能又要被使用,因此需要重新将它调入。
若一个进程频繁地进行页面调入调出,势必加大系统的开销,使系统运行效率降低。
通常称这种现象为该进程发生了抖动。
2)产生抖动的原因主要有:系统内的进程数量太多,致使一个进程分得的存储块过少;系统采取的置换算法不够合理。
7.文件系统的模型可分为三层,试说明每一层所包含的基本内容。
答:文件系统的模型可分为最低层、中间层和最高层。
1)最低层(对象及属性说明层),指出文件的各种类型、目录的组织形式、外在空间的说明等。
2)中间层(对对象操纵和管理层),包括大量对文件管理的软件,诸如对文件与目录的操作、地址映射、存储块组装与解析、设备驱动等。
3)最高层(文件系统接口层),提供了用户与文件系统的界面。
接口的形式有两种:命令接口和程序接口。
8.为什么要引入设备独立性?如何实现设备独立性?答:1)设备独立性又称为设备无关性。
它指的是应用程序在使用设备进行I/O时,使用的是逻辑设备系统,而系统在实际执行时使用的是物理设备,由操作系统负责逻辑设备与物理设备的映射。
引入设备独立性可以使设备的分配具有极大的灵活性,并易于实现I/O重定向。
2)系统为每个进程设置一张“逻辑设备表(LUT)”。
当某进程用逻辑名来请求设备时,系统查阅“系统设备表SDT”,为它分配相应的可用物理设备。
系统将这种用户逻辑设备与系统物理设备的映射建立在该用户的LUT中,并将该物理设备的驱动程序入口的地址填入LUT中。
以后,该进程利用逻辑设备名请求I/O 操作时,系统通过查找LUT即可找到物理设备及其驱动程序。
9.什么是进程同步?进程同步机制应遵循哪些基本原则?答:进程同步是指一组并发进程由于相互合作,共同完成某种任务,因而相互等待,使得各进程按一定的速度执行的过程。
进程同步的基本原则:空闲让进,忙则等待,有限等待,让权等待。
10.试比较作业与进程的区别。
一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。
作业是用户需要计算机完成某项任务,而要求计算机所做工作的集合。
一个作业的完成要经过作业提交、作业收容、作业执行和作业完成四个阶段。
而进程是已经提交完毕的程序所执行过程的描述,是资源分配的基本单位。
其主要区别关系如下:1)作业是用户向计算机系统提交任务的任务实体,而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。
2)作业在没有进入执行状态时被存入外存的后备作业队列中等待调度执行,进程一旦被创建,总有相应总分放入内存。
3)一个作业可由多个进程组成,且必须至少由一个进程组成,反之不成立。
4)作业的概念应用范围主要局限于批处理系统中,而进程的概念则应用到几乎所有的多道程序系统中。
11.分页和分段存储管理有何区别?答:1)页是信息的物理单位,是为减少内存的碎片,出于系统管理需要;段是信息的逻辑单位,是出于用户的需要出发。
2)页的大小固定,由系统决定;段的长度不固定,由用户决定。
3)分页的地址空间是一维的,从0开始编址,而分段的地址空间是二维的,每个段的段内地址是连续的,也从0开始编址,但段间可以不连续,它们离散地分布在内存的各个分区中。
12.目前广泛采用的目录结构形式是哪种?它有什么优点?答:目前广泛采用的目录结构是多级树型目录结构。
它具有以下优点:1)能有效地提高对目录的检索速度。
假定文件系统中有N个文件,在单级目录中,最多要检索N个目录项;但对有i级的树型目录,在目录中每检索一指定的文件,最多可能要检索到i Ni 项。
2)允许文件重名。
由于在树型结构的文件系统中,是利用文件路径名来检索文件的,故允许每个用户在自己的分目录中使用与其他用户文件相同的名字。
3)便于实现文件共享。
在树型目录中,用户可通过路径名来共享他人的文件;也可将一个共享文件链接到自己的目录下,从而使文件的共享变得更为方便,其实现方式也非常简单,系统只需在用户的目录文件中增设一目录项,填上用户赋予该共享文件的新文件名,以及该共享文件的唯一标识符(或索引结点编号)即可。
五、计算与应用题1.解:令由东往西为方向1,由西向东为方向2。
用计数器count[1]用来记录方向1的等待过河人数,计数器count[2]用来记录方向2的等待过河人数。
让信号量wait[1]关联count[1],信号量wait[2]关联count[2]。
程序代码如下:bginsemaphore:mutex:=1;semaphore:wait[1..2]:=0;int: count[1..2]:=0;cobeginprocess GO_BRIGE(i=1..2)beginP(wait[i]);if count[i]=0 thenP(mutex);count[i]:=count[i]+1;V(wait[i]);“过桥”;P(wait[i]);count[i]:=count[i]-1;if count[i]=0 thenV(mutex);V(wait[i]);endcoendend2.解1)当分配给该作业的物理块数M=3时,其缺页时间如下:“▲”表示缺页的位置。
页面访问序列:4 3 2 1 4 3 5 4 3 2 1 5物理内存:4 4 4 1 1 1 5 5 5 2 2 23 3 34 4 4 4 4 4 1 12 2 23 3 3 3 3 3 5缺页标志:▲▲▲▲▲▲▲▲▲▲计算结果:缺页次数为10次,缺页率为5/6。
2)当分配给该作业的物理块数M=4时,其缺页时间描述如下:“▲”表示缺页的位置。
页面访问序列:4 3 2 1 4 3 5 4 3 2 1 5物理内存:4 4 4 4 4 4 4 4 4 4 4 53 3 3 3 3 3 3 3 3 3 32 2 2 2 5 5 5 5 1 11 1 1 1 1 12 2 2缺页标志:▲▲▲▲▲▲▲▲计算结果:缺页次数为8次,缺页率为2/3。
比较:当里程分配的内存块数较多时,进程的缺页率较低。
1.解:(1)进程间关系为:A→B1→B→B2→CA受B制约:当B未把B1信息取走,A不能输入下一信息。
C受B制约:当B未把B1信息送入B2,C不能打印B2信息。
B同时受A、C约束:把A未把信息写入B1;C未把B2信息印出,则B不能把B1信息送至B2。
(2)设四个信号量。
它们初值均为0A私用信号量S1空。
(为“0”表示B1空)B私用信号量S1满。
(为“1”表示B1满)B私用信号量S2空。