您的当前位置:首页正文

全国自考操作系统(进程通信)模拟试卷1(题后含答案及解析)

来源:华佗健康网


全国自考操作系统(进程通信)模拟试卷1 (题后含答案及解析)

题型有:1. 单项选择题 3. 填空题 4. 简答题 5. 综合题 6. 判断题

单项选择题

1. 测试并设置指令test&set是一种_______。 A.锁操作指令 B.互斥指令 C.判断指令 D.信号量指令

正确答案:A 涉及知识点:进程通信 2. 读者/写者是一个_______问题。 A.互斥 B.半同步 C.全同步 D.共享

正确答案:A

解析:在读者/写者问题中仅需要互斥,不需要同步。 知识模块:进程通信

3. 在UNIX扣,向消息队列发送一个消息的系统调用是_______。 A.msgsnd B.shmat C.semop D.send

正确答案:A 涉及知识点:进程通信 4. UNIX的软中断机制是_______。 A.设备中断 B.信号量 C.系统调用 D.信号

正确答案:D 涉及知识点:进程通信 5. 系统出现死锁的原因是_______。 A.计算机系统发生了重大故障 B.系统中所有的进程都被封锁了

C.若干进程因竞争资源而无休止地等待着,不释放已占有的资源 D.进程同时申请的资源数大大超过资源总数

正确答案:C 涉及知识点:进程通信 6. 资源的按序分配策略可以破坏产生死锁的_______条件。 A.互斥执行 B.保持并等待 C.不可剥夺 D.循环等待

正确答案:D 涉及知识点:进程通信 7. 系统有4个进程,每个进程最多同时申请两个同类资源,系统至少应有

_______个此类同类资源才不会发生死锁。

A.5 B.6 C.7 D.8

正确答案:A 涉及知识点:进程通信

填空题

8. 一次仅允许一个进程访问的资源称为_______。

正确答案:临界资源 涉及知识点:进程通信 9. 在操作系统中,使用信号量可以解决进程间的_______与_______问题。

正确答案:同步、互斥 涉及知识点:进程通信 10. 有m个进程共享n个同类临界资源,如使用信号量解决进程间的互斥

问题,那么信号量的取值范围为_______。

正确答案:n~-(m-n) 涉及知识点:进程通信 11. 采用多线程技术可把生产者与消费者问题中的两个进程改为一个进程中的两个线程来处理,这两个线程仍具有_______性,但不再需要额外的_______。

正确答案:并发、系统公共缓冲区 涉及知识点:进程通信 12. 在默认的情况下,大多数信号会导致接收进程_______。

正确答案:终止 涉及知识点:进程通信 13. 银行家算法是死锁_______算法。

正确答案:避免 涉及知识点:进程通信

简答题

14. 使用开关中断方法实施临界区互斥的缺点是什么?克服该缺点的改进方法是什么?

正确答案:用硬件锁,即用开、关中断的方法可实现锁操作。但这种方法有以下几个不足之处。(1)这种方法只能用于单CPU系统。在多处理机系统中,禁止中断只影响执行关中断指令的CPU,在其他CPU上并行执行的相关进程仍能不受阻碍地进入临界段。(2)如果临界段操作比较复杂,执行时间较长,那么长时间地关闭中断会降低系统对外部中断响应的速度,影响系统处理紧迫事件的能力。(3)一个运行系统可以有很多的临界段,应当允许多个进程进入不同的临界段并发地运行。采用开、关中断的硬件锁方法禁止了其他无关的进程进入不同的临界段,这种做法显然伤害了很多的“无辜者”。克服该缺点的改进方法是用硬件锁锁软件锁,用软件锁锁临界段。由于软件锁的LOCK操作包含测试和关闭两个操作步骤,它本身也是一种临界段,故可以用硬件锁——开、关中断保证软件锁操作的完整性。由于软件锁是一种程序长度最短的临界段,故用开、关中断的方法保证锁操作的完整性几乎不会影响到系统响应其他的中断请求。用软件锁

保证临界段执行的独占性,也不会影响到其他无关进程进入不同的临界段。 涉及知识点:进程通信

15. 为什么要在生产者和消费者的同步问题中加入互斥信号量mutex,而在计算进程和打印进程的两个进程之间的同步问题中不要加入互斥信号量mutex?

正确答案:由于在生产者和消费者问题中的两个信号量buffers和products的值都可以大于1,因此就可能发生有多个生产者进程和消费者进程同时通过semWait(buffers)和sereSignal(products)操作,进入缓冲区存或取产品的情况。由于存放产品的缓冲区是一种数据结构,本身也是临界资源,故对该部分的操作是一个临界段,各个进程也要互斥地执行。在计算进程和打印进程的两个进程之间的同步问题中,由于受对方的制约,两个进程不可能同时访问缓冲区,故这种同步中就隐含了互斥。如果像生产者和消费者问题一样,也加入互斥信号量mutex,

尽管没有问题,但是这是没有必要的。 涉及知识点:进程通信

16. 信号与中断有哪几点不同之处?

正确答案:信号与中断有以下几点不同之处:(1)中断有优先级,而信号没有优先级;(2)中断处理程序是在核心态下运行的,而信号处理程序如是由用户编制的,则可以在用户态下运行;(3)中断响应一般是及时的,进程不必主动去

判断是否发生了中断,而信号需要进程在执行中的某几个时机主动去询问,并做

出响应,故一般延时较大。 涉及知识点:进程通信

17. 说明可通过哪些方法可以预防死锁。

正确答案:排除互斥执行条件:对于互斥设备,用虚设备技术将需互斥执行的如打印机等独享设备改造成可同时使用的共享设备,就能破坏本条件,预防死锁。排除“请求和保持”条件:只要进程一次申请它所需要的所有的资源,在所有的需要同时满足以前,阻塞自己。排除“不可剥夺”条件:一个方法是,如占有某些资源的进程不能获得进一步的资源,该进程必须释放原先所占用的资源;如果需要,以后再申请这些资源。另外的方法是,如果一个进程需要申请当前正被其他进程占用的资源,操作系统就要求后者释放它所占用的这类资源。在后申请资源的进程优先级较高和资源的状态容易保存和便于以后恢复的情况下,这种预防死锁的方法才是实际可行的。处理机就是这类资源的例子,如剥夺像打印机那样的资源,就会使输出变得杂乱无章、毫无意义。排除“环路等待”条件:将所有资源按类型排序标号,所有进程对资源的请求必须严格按序号递增的次序提

出。 涉及知识点:进程通信

现有三个进程P1、P2、P3,共享(A,B,C)这三类资源,系统总的资源数为(6,8,6),各进程对资源的当前分配情况和最大需求量如表4—3所示。

请按银行家算法解答下列问题:

18. 目前系统是否处于安全状态?

正确答案:系统总的资源数为(6,8,6),系统尚余的资源为(1,2,1),三个进程尚需的资源数如表15-2的“尚需的资源数”一栏所示,由于进程P2尚需的资源数为(1,2,0),系统剩余的资源能满足其全部资源需求,它在有限时间内会归还这些资源,因此系统可分配资源将达到(3,2,2);这样就可分配给进程P1,等它归还资源后,可分配资源达到(4,7,5);接着又可分配给进程P3,满足其全部请求。所以说目前系统处于安全状态。

涉及知识点:进程通信

19. 现在如果进程P3提出申请(1,l,1)个资源或进程P1提出申请(1,1,0)个资源,系统是否能为它们分配资源?

正确答案:若此时先给进程P3分配(1,1,1)个资源,进程P3尚需(0,6,3),而系统剩余的资源量为(0,1,0),处于不安全的状态,因为这时无法满足进程P1和P2中任何一个进程的资源要求,系统就可能产生死锁。类似地如先给P1分配(0,1,1)个资源,则系统剩余的资源量为(1,1,0),同样也无法满足进程P2和P3中任何一个进程的资源要求,这样系统也可能产生死锁。 涉

及知识点:进程通信

综合题

20. 有一座只能容单列汽车通过的长窄桥,桥两边的汽车在对面没有汽车在桥上的情况下可以上桥并通过桥,且同一方向可以允许任意多的汽车通过。请用信号量操作实现桥两边汽车的安全通过,两边的汽车各作为一组进程,并说明各个信号量的意义和初值。

正确答案:这个问题类似于读者写者问题中的读者,区别是桥两边各是一组独立的读者,这两者之间需要互斥。int count1,count2:桥两边汽车上桥的计数器变量,初值为0。mutex1,mutex2:计数器变量加减时的互斥信号量,初值为1。first:两边允许第一辆汽车上桥的互斥信号量,初值为1。一边的汽车: 另一边的汽车:while(1){ while(1){semWait(mutex1); semWait(mutex2);if(++count1==1) if(++count2==1)semWait(first); semSignal(first);semSignal(mutex1); semSignal(mutex2);上桥,通过; 上桥,通过;semWait(mutex1); semWait(mutex2);if(--count1==0) if(--count2==0)semSignal(first); semSignal(first);semSignal(mutexl);

semSignal(mutex2);} }。 涉及知识点:进程通信

判断题

21. 能允许多个进程同时进入不同的临界段。( ) A.正确 B.错误

正确答案:A

解析:不同的临界段涉及不同的临界资源,允许不同的进程并发地访问不同

的临界资源。 知识模块:进程通信

22. 共享型设备使用前不必先申请分配。( ) A.正确 B.错误

正确答案:A 涉及知识点:进程通信 23. 利用锁操作既可以实现进程间的同步,也能实现进程间的互斥。( ) A.正确 B.错误

正确答案:B 涉及知识点:进程通信 24. 为了实现阻塞/唤醒协议,就需要设置2个信号量S1和S2。( ) A.正确 B.错误

正确答案:B

解析:阻塞/唤醒协议是半同步。一个进程a需要同步等待另一个进程b,而进程b则不必同步等待进程a,故只需要设置1个信号量。 知识模块:进程通信

25. 外部设备中断可以通过中断控制器和中断向量进入软中断处理程序。( )

A.正确 B.错误

正确答案:B

解析:软中断处理程序是通过信号机制进入的。 知识模块:进程通信

26. 信号处理比中断处理延时大。( ) A.正确 B.错误

正确答案:A 涉及知识点:进程通信 27. 信号的接收方能识别发送方的身份(即进程ID)。( ) A.正确 B.错误

正确答案:B 涉及知识点:进程通信

28. 信号量semWait、semSignal操作的次序不当就可能形成死锁。( ) A.正确 B.错误

正确答案:A 涉及知识点:进程通信

因篇幅问题不能全部显示,请点此查看更多更全内容