列表

详情


进程P1、P2、 P3、P4和P5的前趋图如下所示:

若用PV操作控制这5个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为();空③和空④处应分别为();空⑤和空⑥处应分别为()。


第 1 问

A. V (S1)和P (S2)

B. P (S1)和V (S2)

C. V (S1)和V (S2)

D. V (S2)和P (S1)

第 2 问

A. V (S4)和V (S5) P (S3)

B. P (S3) 和V (S5) V (S6)

C. V (S3)和V (S4) V (S5)

D. P (S4)和V (S4) P (S3)

第 3 问

A. P (S5)和P (S7)

B. P (S6)和P (S7)

C. V (S5)和V (S6)

D. V (S6)和P (S7)

参考答案: D B A

详细解析:

前趋图中,进程存在明确的前趋和后继关系。前趋进程完成后以V()操作通知后继进程。后继进程开始前需要以P()操作检查前趋进程是否已完成。

也可以直接在图示中进行标注,结点间的→表示二者关系,箭头流出的结点是前趋进程,结束后也就是箭头流出位置,标注为V()操作以通知后继进程;箭头流入的结点是后继进程,开始前也就是箭头流入的位置,标注为P()操作以检查前趋进程。

没有特别注明的情况下,信号量是按顺序进行排列的,如下图:


P1没有前趋,有2个后继,P1执行后需要2V操作通知后继进程,即①填写V(S2)操作;

P21个前趋,有2个后继,P2执行前需要有1P操作检查前趋,P2执行后需要2V操作通知后继进程,即②填写P(S1)操作。

因此第一空,选择D选项。

P32个前趋,有2个后继,P3执行前需要有2P操作检查前趋,P3执行后需要2V操作通知后继进程,即③填写P(S3)操作, ④填写V(S5)VS6)操作。 

因此第二空,选择B选项。

P42个前趋,有1个后继,P4执行前需要有2P操作检查前趋, P4执行后需要1V操作通知后继进程,即⑤填写P(S5)操作。  

P52个前趋,没有后继,P5执行前需要有2P操作检查前趋,即⑥填写P(S7)操作。  

因此第三空,选择A选项。



上一题