问题 单项选择题

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

若用PV操作控制进程P1~P5并发执行的过程,则需要设置6个信号量S1、S2、S3、S4、S5和S6,且信号量S1~S6的初值都等于零。下图中a和b处应分别填写 (48) ;c和d处应分别填写 (49) ,e和f处应分别填写 (50)

50()

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

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

C.P(S2)P(S5)和P(S4)P(S6)

D.P(S4)V(S5)和P(S5)V(S6)

答案

参考答案:C

解析:

本题考查PV操作方面的基本知识。

试题(23)的正确答案是C,因为P1是P3和P4的前驱,当P1执行完成后,应通知P3和P4,故应采用V(S1)V(S2)操作分别通知P3和P4;同理,P2是P3和P5的前驱,当P2执行完后,应通知P3和P5,故应采用V(S3)V(S4)操作分别通知P3和P5。

试题(24)的正确答案是B,因为P3是P1和P2的后继,当P3执行前应测试P1和P2是否执行完,故应采用P(S1)P(S3)操作分别测试P1和P2是否执行完;又因为P3是P4和P5的前驱,当P3执行完应通知P4和P5,故应采用V(S5)V(S6)操作分别通知P4和P5。

试题(25)的正确答案是C,因为P4是P1和P3的后继,当P4执行前应测试P1和P3是否执行完,故应采用p(S2)P(S5)操作分别测试P1和P3是否执行完;又因为P5是P2和P3的前驱的后继,当P5执行前应测试P2和P3是否执行完,故应采用P(S4)P(S6)操作分别测试P2和P3是否执行完。

填空题
单项选择题