第1页/共8页计算机操作系统一.单项选择题(每小题2分,共30分)1.进程具有并发性和()两大重要属性。A.动态性B.静态性C.易用性D.封闭性2.在分时操作系统中,()是衡量一个分时系统的一项重要指标。A.响应时间B.高可靠性C.吞吐量D.时间片轮转3.进程所请求的一次打印输出结束后,将使进程状态从()。A.运行态变为就绪态B.运行态变为等待态C.就绪态变为运行态D.等待态变为就绪态4.常用的文件存取方法有两种:顺序存取和()存取。A.流式B.串联C.索引D.随机5.采用多道程序设计能()。A.减少调度次数B.减少处理器空闲时间C.缩短每道作业的执行时间D.避免发生资源竞争现象6.临界区是指并发进程中涉及共享变量的()。A.程序段B.管理信息区C.公共数据区D.信息保留区7.产生死锁的四个必要条件是:互斥使用、()、不可抢占和循环等待资源。A.请求并阻塞B.占有并等待C.请求并释放D.释放并阻塞8.()是一种只能进行wait操作和signal操作的特殊变量。A.调度B.进程C.同步D.信号量9.在下面的叙述中正确的是()。A.一个进程一定包含多个线程B.进程是比线程更小的能独立运行的基本单位C.线程的引入增加了程序执行时的时空开销D.引入线程可提高程序并发执行的程度,可进一步提高系统效率第2页/共8页10.设有n个进程共用一个相同的程序段(临界区),如果每次最多允许m个进程(mn)同时进入临界区。则信号量的初始值为()。A.nB.mC.m-nD.n-m11.为了对紧急进程或重要进程进行调度,调度算法应采用()。A.先来先服务B.轮转法C.优先权调度D.短执行时间优先调度12.系统运行银行家算法是为了()。A.死锁检测B.死锁避免C.死锁解除D.死锁防止13.在磁盘调度时读写头从盘的一端开始朝另一端移动,在移动的过程中搜索每个磁道上的请求,若有则服务之,直至到达盘的另一端。在另一端,磁头转向,并继续在移动中扫描服务,则此种算法称为()。A.先来先服务B.最短查找时间优先C.SCAND.C-SCAN14.在采用位向量管理磁盘空闲空间时,每个二进制位对应一个()。A.物理文件B.逻辑文件C.物理块D.缓冲区15.PCB是描述进程状态和特性的数据结构,一个进程()。A.可以有多个PCBB.可以和其他进程共用一个PCBC.可以没有PCBD.只能有唯一的PCB二.填空题(每小题1分,共10分)1.操作系统得基本特征有、共享、虚拟以及异步性。2.文件系统本身通常由许多不同的层组成,最底层为层。3.常用的磁盘分配方法有三种:连续分配、分配及索引分配。4.能使外设通知CPU的硬件机制称为。5.当有多个进程竞争帧时,可将页置换算法分为两大类。其中,允许一个进程可以从另一个进程中取帧。6.如果一个进程在换页上用的时间要多于执行时间,我们称这个进程处于中。7.提供了进程与操作系统之间的接口。第3页/共8页8.是当今最有发展前途的OS结构,该结构首先在CMU的Mach操作系统中采用。9.在页式存储管理方案中,采用实现地址变换。10.一个时间单元内所完成的进程的数量称为,是评估CPU工作量的一种方法。三.简答题(每小题6分,共30分)1.给出进程五种状态的变化图,并在图中标明引起状态变化的原因。2.处理死锁的方法有哪些?3.SPOOLing的含义是什么?试述SPOOLing系统的特点及功能。4.简述时间片轮转(RR)调度算法的思想。5.在设备管理中设置缓冲区的作用是什么?根据系统设置缓冲区的个数,缓冲区可以分为哪几种?四.综合题(每小题10分,共30分)1.设系统中有三种类型的资源(A、B、C)和五个进程(P1、P2、P3、P4、P5),A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态如表1和表2所示。系统采用银行家算法实施死锁避免策略。算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need。安全性算法中的两个向量为work和finish。(1)T0时刻是否为安全状态?若是,请给出安全序列。(2)在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么?表1T0时刻系统状态进程最大资源需求量已分配资源数量ABCABCP1559212P2536402P34011405P4425204第4页/共8页P5424314表2T0时刻系统状态ABC剩余资源数2332.在一个请求页式存储管理系统中,进程P共有5页,访问串为3,2,1,0,3,2,4,3,2,1,0,4时,试用置换算法FIFO和LRU置换算法,计算当分配给该进程的帧数分别为3和4时,访问过程中发生的缺页次数,所有的帧初始时为空,第一个页调入都会引发一次页错误。比较所得的结果,浅析原因。3.桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘子空时才能放水果,一次只能放一只水果供吃者取用,请用wait、signal原语实现爸爸、儿子、女儿三个并发进程的同步。一、单项选择题(每小题2分,共30分)答案:1~5AADDB6~10ABDDB11~15CBCCD评分标准:每小题2分。二、填空题(每小题1分,共10分)答案:题号答案题号答案1并发6颠簸(抖动)2I/O控制7系统调用3链接8微内核结构4中断9页表第5页/共8页5全局置换10吞吐量评分标准:每小题1分。三、简答题(每小题6分,共30分)1.参考答案:评分标准:本小题6分。2.参考答案:可以使用协议以预防或避免死锁,确保系统决不会进入死锁状态。可允许系统进入死锁状态,然后检测它,并加以恢复可忽视这个问题,认为死锁不可能在系统内发生。评分标准:本小题6分,每一种方法2分。3.参考答案:SPOOLing是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。SPOOLing技术是在通道技术和多道程序设计基础上产生的,它由主机和相应的通道共同承担作业的输入输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作。SPOOLing系统由专门负责I/O的常驻内存的进程以及输入井、输出井组成;它将独占设备改造为共享设备,实现了虚拟设备功能。评分标准:本小题6分,答案仅供参考,可根据学生答题情况酌情给分。4.参考答案:系统把所有就绪进程按先入先出的原则排成一个队列,新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU中运行一个时间片的时间。当进程用完分配给它的时间片后,调度程序便停止该进程的运行,并把它放入就绪队列的末尾;然后,把CPU分配给就绪队列的队首进程。评分标准:本小题6分,答案仅供参考,可根据学生答题情况酌情给分。5.参考答案:在设备管理中设置缓冲区的作用:(1)缓和CPU和I/O设备之间速度不匹配的矛盾。(2)减少中断CPU的次数。(3)提高CPU和I/O设备之间的并行性。根据系统设置缓冲区的个数,可以分为单缓冲、双缓冲、多缓冲以及缓冲池等四种。评分标准:本小题6分,答案仅供参考,可根据学生答题情况酌情给分。第6页/共8页四、综合题(每小题10分,共30分)1.(1)解:系统在T0时刻,存在一个安全的序列(P4、P5、P1、P2、P3),因而是安全的。----------------5分(2)解:T0时刻,不能为进程P2请求资源(0,3,4);------------------3分因为可用资源的数量不够,所以只能推迟分配。----------------------2分2.答案:(1)3个帧时的FIFO置换过程--------------------------------------------------------------------2分页错误次数为9次(2)4个帧时的FIFO置换过程--------------------------------------------------------------------2分页错误次数为10次(3)3个帧时的LRU置换过程--------------------------------------------------------------------2分332321321421431433243203211000004213323210210310324332412410第7页/共8页页错误次数为10次(4)4个帧时的LRU置换过程--------------------------------------------------------------------2分页错误次数为8次分析:FIFO置换算法并没有随着可用帧的增加而降低页错误次数,即FIFO存在Belady异常问题,而LRU算法不存在这样的问题。--------------------------------------------------------------------2分3分析在本题中,爸爸、儿子、女儿共用一个盘子,且盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水果放入果盘中。若放入果盘中的是苹果,则允许女儿吃,儿子必须等待;若放入果盘中的是桔子,则允许儿子吃,女儿必须等待。本题实际上是生产者-消费者问题的一种变形。这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品。解在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:intS=1;-----------------------------------------------------------------------1分intSa=0;---------------------------------------------------------------------1分intSo=0;---------------------------------------------------------------------1分main(){cobeginfather();son();3323213213243243320420111003323210210310324332132102104第8页/共8页daughter();coend}father()------------------------------------------------------------------------3分{while(1){WAIT(S);将水果放入盘中;if(放入的是桔子)SIGNAL(So);elseSIGNAL(Sa);}}son()------------------------------------------------------------------------2分{while(1){WAIT(So);从盘中取出桔子;SIGNAL(S);吃桔子;}}daughter()---------------------------------------------------------------------2分{while(1){WAIT(Sa);从盘中取出苹果;SIGNAL(S);吃苹果;}}4.