进程P1、P2、P3、P4、P5和P6的前驱图如下所示:
若用PV操作控制进程P1、P2、P3、P4、P5和P6并发执行的过程,需要设置6个信号量S1、S2、S3、S4、S5和S6,且信号量S1~S6的初值都等于零。下面的进程执行图中a和b处应分别填写( ),c和d处应分别填写( ),e和f处应分别填写( )。
问题1选项
A.V(S1)和P(S2)V(S3)
B.P(S1)和P(S2)V(S3)
C.V(S1)和V(S2)V(S3)
D.P(S1)和V(S2)V(S3)
问题2选项
A.P(S2)和P(S4)
B.V(S4)和P(S3)
C.P(S2)和V(S4)
D.V(S2)和V(S4)
问题3选项
A.P(S4)V(S5)和V(S6)
B.P(S4)V(S5)和P(S6)
C.P(S4)P(S5)和V(S6)
D.P(S4)P(S5)和P(S6)
第1题:
本题是常规的前趋图与PV操作结合考查题型。
对于前趋图,箭线表示前趋和后继关系,前趋进程完成需要通知后继进程(用V()操作通知),后继进程开始前需要检查前趋进程是否完成(用P()操作检查)。也就是说,在前趋图中,每一个箭头流出指向后继进程,都会有一个V()操作通知后继,每一个箭头的流入都是始于前趋进程,需要检查前趋进程是否完成,用P()操作进程检查。标识如下:
根据缺失的填空位置:
P2有1个前趋进程,执行前a位置有1个P()操作,P2有2个后继进程,执行后b位置有2个V()操作,第一空选择D选项。
P3有1个后继进程,执行后c位置有1个V()操作,P4有1个前趋进程,执行前d位置有1个P()操作,第二空选择B选项。
P5有2个前趋进程,执行前e位置有2个P()操作,P5有1个后继进程,执行后f位置有1个V()操作,第三空选择C选项。
''
第2题:
第3题: