列表

详情


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

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

第 1 问

A. P(S1)和P(S2)

B. V(S1)和V(S2)

C. P(S1)和V(S2)

D. P(S2)和V(S1)

第 2 问

A. P(S1)和P(S2)、V(S3)和V(S4)

B. P(S1)和P(S2)、P(S3)和P(S4)

C. V(S1)和V(S2)、P(S3)和P(S4)

D. P(S1)和V(S3)、P(S2)和V(S4)

第 3 问

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)

参考答案: 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)。

上一题