进程P1、P2、P3、P4、P5的前趋图如图2-19所示。
若用PV操作控制进程并发执行的过程,则需要相应于进程执行过程设置5个信号量S1、S2、S3、S4和S5,且信号量初值都等于零。图2-20中a处应填写 (32) :b和c、d和e处应分别填写 (33) ,f、g和h处应分别填写 (34) 。
A.P(S3)V(S4)、V(S5)和P(S5)
B.V(S3)V(S4)、P(S5)和V(S5)
C.P(S3)P(S4)、V(S5)和P(S5)
D.V(S3)P(S4)、P(S5)和V(S5)
参考答案:C
解析:
[分析]: 根据图2-19,P1进程运行结束需要利用V操作分别通知P2和P3进程,所以用V(S1)操作通知P2进程,用V(S2)操作通知P3进程。
根据图2-19,P2进程开始运行前必须等待P1进程的通知,需要用P(S1)操作测试P1进程是否运行完,P2进程运行结束要利用V(S3)操作通知P4进程。同理,根据图2-19,P3进程开始运行前必须等待P1进程的通知,需要用P(S2)操作测试P1进程是否运行完,P3进程运行到结束需要利用V(S4)操作通知P4进程。
根据图2-19,P4进程开始运行前必须等待P2和P3进程的通知,需要用P(s3)和P(S4)操作分别测试P2和P3进程是否运行完,故空f应填写P(S3)P(S4)。P4进程运行结束需利用V(S5)操作通知P5进程,故空g应填写V(S5)。
根据图2-19,P5进程开始运行前必须等待P4进程的通知,需要用P(S5)操作测试P4进程是否运行完,故空h应填写P(S5)。