第二章 进程管理习题课

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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