进程p1、p2、p3、p4和p5的前趋图如下所示 若用PV操作控制这5个进

考试题库2022-08-02  47

问题 进程p1、p2、p3、p4和p5的前趋图如下所示若用PV操作控制这5个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(  );空③和空④处应分别为(  );空⑤和空⑥处应分别为(  )问题1选项A.V(S1)和P(S2)P(S3)B.P(S1)和V(S1)V(S2)C.V(S1)和V(S2)V(S3)D.P(S1)和V(S1)P(S2)问题2选项A.V(S4)V(S5)和P(S3)B.V(S3)V(S4)和V(S5)C.P(S4)P(S5)和V(S5)D.P(S4)P(S5)和V(S4)问题3选项A.P(S6)和P(S5)V(S6)B.V(S5)和V(S5)V(S6)C.P(S6)和P(S5)P(S6)D.V(S6)和P(S5)P(S6)

选项

答案 CAD

解析 本题是典型的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操作。不需要区别信号量。
转载请注明原文地址:https://tihaiku.com/congyezige/2409506.html

最新回复(0)