《第二章 进程管理习题课.pptx》由会员分享,可在线阅读,更多相关《第二章 进程管理习题课.pptx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章 进程管理习题课第二章第二章 进程管理习题课进程管理习题课 第二章 进程管理习题课2.下述哪些情况是对的?(1)进程由自己创建;(2)进程由自己阻塞;(3)进程由自己挂起;(4)进程由自己解除挂起;(5)进程由自己唤醒;(6)进程由自己撤消。1.为什么说PCB是进程存在的唯一标志?第二章 进程管理习题课3.进程和线程的关系是什么?线程是由进程建立的,是吗?线程对实现并行性比进程机制有何好处?答:进程和线程的关系是:线程是进程内的一个相对独立的可调度的执行单元。第二章 进程管理习题课进程在创建时,系统至少需要同时为该进程创建一个线程,即进程中至少要有一个或一个以上的线程,否则进程无法被调度
2、执行。进程是被分给并拥有资源的基本单元,同一进程内的多个线程共享该资源,但线程并不拥有该资源只是使用它们。线程不是由进程建立的,因为需要时线程可以创建其他线程。第二章 进程管理习题课线程对实现并行性比进程机制的好处是:(1)首先用于创建和撤消线程的开销比创建和撤消进程的系统开销(CPU时间)要少得多。(2)CPU在线程之间开关时的开销也远比进程之间开关的开销小。线程的执行效率比并发进程执行要有效得多。第二章 进程管理习题课(3)线程机制也增加了通讯的有效性。线程间通讯是在同一进程的地址空间内,共享主存和文件,所以非常简单,无需内核参与。(4)方便和简化了用户的程序结构工作。第二章 进程管理习题
3、课4、试用信号量实现这6个进程的同步 P1P2P3P6P4P5P7S12S13S14S45S25S36S56S76S27第二章 进程管理习题课5、用P.V操作解决下图之同步问题:get进程负责往单缓冲区S中输入数据,copy进程负责将单缓中区S中的数据复制到单缓冲区T,put进程负责从单缓中区T中取出数据用于处理。copyputSTget第二章 进程管理习题课GET进程repeat 生产数据 放入S中Until falseCOPY进程 repeat 复制S数据 数据放入T中Until falsePUT进程 repeat 从T取数据 Until false信号量ms:1 S缓冲区空,P(ms),
4、P(mut1)S12:0,S 中数据V(mut1),V(s12)P(s12),P(mut1)V(mut1),V(ms)mt:1,t 缓冲区空P(mt),P(mut2)S23:0,t中数据V(mut2),V(s23)P(s23)p(mut2)V(mut2)V(mt)第二章 进程管理习题课6、某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题:(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。(2)根据所定义的信号量,把应执行的P、V操作填入下述程序中,以保证
5、进程能够正确地并发执行。COBEGINPROCESSPi(Ii=1,2,)Begin进入售票厅;购票;退出;end;COEND(1)用P、V操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。第二章 进程管理习题课7.下面是两个并发执行的程序它们能正确执行吗?若不能正确执行请举例说明并改正之(X是公共变量)cobeginvar x:integer;procecc p1(进程p1)var y,z:integer;beginx:=1;y:=0;if x=1 then y:=y+1z:=yendprocecc p2var t,u:integer;beginx:=0;t
6、:=0;if x1 then t:=t+z;u:=tendcoend第二章 进程管理习题课8.设有n个进程共享一互斥段,对如下两种情况1)每次只允许一个进程进入互斥段;2)最多允许M个进程(MN)同时进入互斥段;所采用信号量是否相同?信号量值的变化范围如何?第二章 进程管理习题课9.判断下列同步问题算法是否有错?若有错,请指出并改正。1)三个并发进程的活动流程如下左,算法如右:begin S:=1;cobegin P1:begin V(S);end P2:begin V(S);end P3:begin V(S);end coend endP3P1P2第二章 进程管理习题课2)设A,B两进程共用
7、一缓冲区Q,A向Q写,B则从Q取:A进程向Q写入信息V(S)B进程从Q中取出信息P(S)S为信息量,初值为0。第二章 进程管理习题课10、桌上有一空盘,最多允许放一只水果。爸爸可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。试用P、V操作实现爸爸、儿子、女儿三个并发进程的同步。第二章 进程管理习题课11、四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F,但限制是:进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。请回答下面的问题:(1)应定义的信号量及初值:(2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:A()B
8、()C()D()1;3;5;7;read F;read F;read F;read F;2;4;6;8;第二章 进程管理习题课n如图所示,四个进程和四个信箱如图所示,四个进程和四个信箱,进程间借助相邻,进程间借助相邻信箱传递消息,即信箱传递消息,即Pi每次从每次从Mi中取一条消息,经加工中取一条消息,经加工后送入后送入Mi+1,其中,其中Mi(i=03)分别可存放分别可存放3,3,2,2个消息。初始状态下,个消息。初始状态下,M0装了装了3条消息,其余为条消息,其余为空。试以空。试以P、V操作为工具,写出操作为工具,写出 Pi(i=03)的同步的同步工作算法。工作算法。信箱信箱M0信箱信箱M3
9、信箱信箱M2信箱信箱M1P0P1P2P3第二章 进程管理习题课解:同步信号量:SMi(i=03),信箱Mi中的消息数目,初值分别为 3,0,0,0 TMi(i=03),信箱Mi中还可容纳的消息数目,初值分别为 0,3,2,2 互斥信号量:Mutexi(i=03),临界资源信箱Mi,初值分别为 1,1,1,1(4分)Pi(i=03):wait(SMi);(1分)wait(Mutexi);(0.5分)从信箱Mi中取消息;signal(Mutexi);(0.5分)signal(TMi);(1分)加工;wait(TM(i+1)mod 4);(1分)wait(Mutex(i+1)mod 4);放入信箱M(i+1)mod 4中;signal(Mutex(i+1)mod 4);(0.5分)signal(SM(i+1)mod 4);第二章 进程管理习题课3、设公共汽车上有一位司机和一位售票员,它们的活动如下:司机 售票员:启动车辆 售票 正常行车 开车门 到站停车 关车门请分析司机与售票员之间的同步关系,如何用PV操作实现。用两个信号量S1、S2分别表示可以开车和可以开门,S1的初值为1,S2的初值为0司机:P(S1)启动车辆 正常行车 到站停车 V(S2)售票员:售票 P(S2)开车门 关车门 V(S1)