(完整版)操作系统-进程同步习题答案(22)_第1页
(完整版)操作系统-进程同步习题答案(22)_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章进程同步一、选择最合适的答案1.用 P、V 操作管理临界区时,信号量的初值一般应定义为(C)。A.1B.OC.1D.任意值2.有 m 个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是(A)。A. 1至-(m-1)B.1 至 m-1C.1至-mD.1至 m3.在下面的叙述中,正确的是(C)。A.临界资源是非共享资源 B.临界资源是任意共享资源C.临界资源是互斥共享资源 D.临界资源是同时共享资源4.对进程间互斥地使用临界资源,进程可以(D)A.互斥地进入临界区 B.互斥地进入各自的临界区C.互斥地进入同一临界区 D.互斥地进入各自的同类资源的临界区5

2、.设两个进程共用一个临界资源的互斥信号量 mutex,当 mutex=l 时表示(B)。A. 个进程进入了临界区,另一个进程等待B. 没有一个进程进入临界区C. 两个进程都进入了临界区D. 两个进程都在等待6设两个进程共用一个临界资源的互斥信号量 mutex,当 mutex=-l 时表示(A)。A. 个进程进入了临界区,另一个进程等待B. 没有一个进程进入临界区C. 两个进程都进入了临界区D. 两个进程都在等待7.当一进程因在记录型信号量 S 上执行 P(S)操作而被阻塞后,S 的值为(B)。A.0B.0D.W08.当一进程因在记录型信号量 S 上执行 V(S)操作而导致唤醒另一进程后,S的值

3、为(D) 。A.0B.2),且当前处理机没有执行进程调度程序,下述情况哪些可能发生(BCD)。A. 没有运行的进程,有 2个进程处于就绪状态,n个进程处于等待状态。B. 一个进程处于运行状态,n-1个进程处于等待状态。C. 一个进程处于运行状态,1 个进程处于就绪状态,n-2个进程处于等待状态。D. 一个进程处于运行状态,n-1个进程处于就绪状态,没有进程处于等待状态三、判断正误,错误的简要说明理由1. 一个临界资源可以对应多个临界区。(J)2. 互斥地使用临界资源是通过互斥地进入临界区实现的。(X)表达不确切,应该是互斥的进入同类临界区。3. 同步信号量的初值一般为 1。(X)互斥信号量的初

4、值一般为 1:而同步信号量的初值应视具体情况而定。4. 生产者一消费者问题是一个既有同步又有互斥的问题。(J)5. 进程 A、B共享变量 x,需要互斥执行;进程 E、C 共享变量 y,E、C 也需要互斥执行,因此,进程 A、C 必须互斥执行。(X)不具有传递性。6. 单道程序系统中程序的执行也需要同步和互斥。(X)单道程序系统不具有并发性,因此不需要同步和互斥。1.某车站售票厅,任何时刻最多可容纳 20名购票者进入,当售票厅中少于 20购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:(1)用 P、V 操作管理这些并发进程时,应怎样定义信号量?写

5、出信号量的初值以及信号量各种取值的含义。(2)根据所定义的信号量,把应执行的 P、V 操作填入下述程序中,以保证进程能够正确地并发执行。COBEGINPROCESSPi(1=1,2,)Begin进入售票厅购票;退出:End;COEND(3)若欲购票者最多为 n个人,写出信号量可能的变化范閑(最人值和最小值)。解:售票厅问题:(1)定义一信号量S,初始值为20。S0S的值表示可继续进入售票厅的人数S=0表示售票厅中已有20名顾客S0ISI的值为等待进入售票厅中的人数上框为p(s)下框为V(S)s的最大值为20S的最小值为20-N,N为某一时刻需要进入售票厅的最大人数.2.进程之间存在哪几种相互制

6、约关系?各是什么原因引起的?卞列活动分别属于哪种制约关系?(1)若干同学去图书馆借书;(2)两队举行篮球比赛;(3)流水线生产的各道工序;(4)商品生产和社会消费。解:进程间存在着2种相互制约的关系:直接制约关系(即同步问题)和间接制约关系(即互斥问题)。同步问题是存在逻辑关系的进程之间相互等待所产生的制约关系,互斥问题是相互无逻辑关系的进程间竞争使用相同资源所发生的制约关系。(1)属于互斥关系,因为书的个数是有限的,一本书只能借给一个同学;四、解答丿(2)属于互斥关系,篮球只有一个,两队都要争夺;(3)(3) 属于同步关系,各道工序的开始都依赖前道工序的完成;属于同步关系,商品没生产出来,消

7、费无法进行,商品未消费完,生产也无须进行。3.设有两个优先级相同的进程 P1 和 P2如下。信号量 S1 和 S2的初值均为 0,试问 P1、P2 并发执行结束后,x=?,v=?,z=?进程 Pl进程 P2v:=l;x:=l;v:=y+2;x:=x+l;V(S1);P(S1);z:=y+l;x:=x+y;P(S2):V(S2);v:=z+y;z:=x+z;解:因为Pl和P2是两个并发进程,所以进程调度程序调度P1和P2的顺序是不确定的。这里不妨假设P1先执行。 进程P1执行到语句P(S2)时,S2=-l,进程Pl阻塞。 此时,y=3,z=4o当进程调度程序调度到进程P2时,由于进程P1已执行了

8、V(S1),进程P2在执行P(S1)时并未阻塞而继续执行, 当执行到V(S2)时, 将P1唤醒, 然后执行最后一个语句Z:=x+z,此时x=5,z=9o当进程Pl再次被调度时, 继续执行P1的最后一个语句, 此时y=12,最终结果是:x=5,y=12,z=9.如果当P2进程执行到V(S2)时,将P1唤醒,然后P2进程被中断,此时x=5,y=3,z=4,Pl进程开始执行然后执行最后一个语句y=z+y,此时“5,戶3,圧7。 然后P2进程被调度,执行z:=x+z,此时x=5,y=3,z=12o如果P2先执行,则执行结果与上面4.桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子

9、。儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘中空时一次只能放一只水果供吃者取用,请用 P、V 原语实现爸爸、儿子、女儿三个并发进程的同步。分析在本题中,爸爸、儿子、女儿共用一个盘子,且盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水杲放入果盘中。若放入果盘中的是苹果,则允许女儿吃,儿子必须等待;若放入果盘中的是桔子,则允许儿子吃,女儿必须等待。本题实际上是生产者-消费者问题的一种变形。这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品。解在本题中,应设置三个信号量 S、So、Sa,信号量 S 表示盘子是否为空,其初值为 1:信号量 So表示盘中是否有桔子,其初值为 0:信号量 Sa 表示盘中是否有苹果,其初值为 0。同步描述如下:intS=l;intSa=0;intSo=0;main()cobeginfatherQ;sonQ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论