进程P1、P2、P3、P4、P5和P6的前趋图如下所示:
若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②分别为( ); 空③和空④处应分别为( ); 空⑤和空⑥处应分别为( )。
问题1选项
A.V(S1)和V(S3)V(S4)
B.P(S1)和V(S3)V(S4)
C.V(S1)和P(S3)P(S4)
D.P(S1)和P(S3)P(S4)
问题2选项
A.V(S3)和V(S5)
B.P(S3)和V(S5)
C.V(S3)和P(S5)
D.P(S3)和P(S5)
问题3选项
A.P(S5)P(S6)和P(S7)
B.V(S5)V(S6)和V(S7)
C.P(S5)P(S6)和V(S7)
D.V(S5)V(S6)和P(S7)
第1题:
本题只要将信号量在前趋图中标识出来,题目就非常容易解了。在前趋图中,每个箭头对应一个信号量,编号从左至右,从上至下,由小到大,如图所示。
标出信号量之后,从某进程引出的信号量,在该进程末尾需要对信号量执行V操作,而信号量箭头指向的进程开始处应有信号量的P操作。
以P1为例,S1与S2从P1发出,所以在P1末尾处要执行V(S1)V(S2),而在P2开始处应执行P(S1),末尾处要执行V(S3)V(S4)。
第2题:
第3题: