参考答案: B D C
详细解析:
根据前驱图,P1进程运行结束需要利用V操作分别通知P2和P3进程,所以用V(Sl)操作通知P2进程,用V(S2)操作通知P3进程。
根据前驱图,P2进程开始运行前必须等待P1进程的通知,需要用P(S1)操作测试P1进程是否运行完,P2进程运行结束而要利用V(S3)操作通知P4进程。同理根据前驱图P3进程开始运行前必须等待P1进程的通知,需要用P(S2)操作测试P1进程是否运行完,P3进程运行到结束需要利用V(S4)操作通知P4进程。
根据前驱图,P4进程开始运行前必须等待P2和P3进程的通知,需要用P(S3)和P (S4)操作分别测试P2和P3进程是否运行完,故空f应填写P(S3)P (S4)。P4进程运行结束需利用V(S5)操作通知 P5进程,故空g应填写V(S5)。根据前驱图,P5进程开始运行前必须等待P4进程的通知,需要用P(S5)操作测试P4进程是否运行完,故空h应填写P(S5)。