第1题:
本题是典型的PV操作与前趋图结合考查题型。
前趋图中,进程存在明确的前趋和后继关系。前趋进程完成后以V()操作通知后继进程。后继进程开始前需要以P()操作检查前趋进程是否已完成。
也可以直接在图示中进行标注,结点间的→表示二者关系,箭头流出的结点是前趋进程,结束后也就是箭头流出位置,标注为V()操作以通知后继进程;箭头流入的结点是后继进程,开始前也就是箭头流入的位置,标注为P()操作以检查前趋进程。

此时:
P1没有前趋,有1个后继,P1执行后需要1个V()操作通知后继进程,即①填写V()操作;
P2有1个前趋,有2个后继,P2执行前需要有1个P()操作检查前趋,P2执行后需要2个V()操作通知后继进程,即②填写2个V()操作。
因此第一空,选择C选项,即满足3个V操作。不需要区别信号量。
P3有1个前趋,有2个后继,P3执行前需要有1个P()操作检查前趋,P3执行后需要2个V()操作通知后继进程,即③填写2个V()操作。
P4有2个前趋,有1个后继,P4执行前需要有2个P()操作检查前趋,④缺少1个P()操作,P4执行后需要1个V()操作通知后继进程,即⑤填写1个V()操作。
P5有2个前趋,没有后继,P5执行前需要有2个P()操作检查前趋,即⑥填写2个P()操作。
因此第二空,选择A选项,即满足2个V操作1个P操作。不需要区别信号量。 第三空,选择D选项,即满足1个V操作2个P操作。不需要区别信号量。
第2题:
第3题: