- A.V(S4)V(S5)和P(S3)
- B.P(S4)P(S5)和V(S3)
- C.V(S3)V(S4)和V(S5)
- D.P(S3)V(S4)和P(S3)
正确答案及解析
正确答案
A
解析
根据前驱图,P2进程需要等待P1进程的通知,故需要利用P(S1)操作测试P1进程是否运行完,所以空①应填P(S1),P2进程运行结束需要利用V操作分别通知P3、P4进程,由于P3进程执行前已经用P(S2),所以空②应填V(S2)。
根据前驱图,P3进程运行结束需要利用两个V操作分别通知P4、P5进程,故空③应为两个V操作;又由于P4执行前需要等待进程P2、P3的结果,需要2个P操作,而P4进程的程序中执行前只有1个P操作,故空④应为1个P操作。采用排除法,对于试题(49)的选项A、选项B、选项C和选项D中,只有选项A满足条件。
根据前驱图P4、P5进程执行完都需要通知P6进程,P6进程运行前执行了P(S6)和P(S7),而P5进程执行完后执行了V(S7),故P4进程应该执行V(S6),即空⑤应填V(S6)。又因为P5进程开始运行前必须等待P3进程的通知,需要用P(S5)操作测试P3进程是否运行完。故空⑥应填写P(S5)。