系统分析师PV操作的典型试题
若用PV操作控制进程并发执行的过程,则需要设置4个信号量S1、S2、S3和S4,且信号量初值都等于零。下图中a和b应分别填写(50),c和d应分别填写(51),e和f应分别填写(52)。
(50)A. P(S1)和P(S2) B. P(S1)和V(S2)
C. V(S1)和V(S2) D. V(S1)和P(S2)
(51)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. V(S1)、V(S2)和V(S3)、V(S4)
(52)A. P(S3)和P(S4) B. P(S3)和V(S4)
C. V(S3)和V(S4) D. V(S3)和P(S4)
分析:
前驱图是一个有向无循环图 ,简称DAG (Directed Acyclic Graph).图中每个结点表示一个语句,一段程序或一个进程,从结点Si到结点Sj的有向边表示它们的前趋关系,记为Si→Sj,即Si和Sj应顺序执行,Sj仅在Si执行完成后才能开始执行。
也就是说:进程P3需要等待进程P1和进程P2运行结束之后,才能开始执行。
S1用来表示进程P1进程运行结束,需要通知进程P3开始运行;
S2用来表示进程P2进程运行结束,需要通知进程P3开始运行;
所以说,当P1,P2执行完之后,需要使用V操作;
所以a处填写V(S1),b处填写V(S2);
P3进程开始运行的时候,先做P(S1)和P(S2操作,检查有无需要运行的P1和P2进程,检查有没有P1和P2进程的消息,然后开始运行,所以c处填写P(S1)和P(S2)
当P3执行完毕之后,需要使用V操作通知P4和P5,所以d处填写V(S3)和V(S4)
e处填写P(S3),f处填写P(S4);
同样的道理;
进程P4和P5执行的时候需要测试P3,P4有没有消息,所以
参考答案:
(50)C(51)A(52)A
● 进程P1、P2、P3、P4、P5的前趋图如下。
若用PV操作控制进程并发执行的过程,则需要相应于进程执行过程设置5个信号量S1、S2、S3、S4和S5,且信号量初值都等于零。下图中a处应填写(50) ;b和c、d和e处应分别填写(51) ,f、g和h应分别填写(52) 。
(50)A. P(S1)和P(S2) B. V(S1)和V(S2)
C. P(S1)和V(S2) D. P(S2)和V(S1)
(51)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)
(52)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)
试题分析:
a处填写V(S1)和V(S2)
b处填写P(S1)
c处填写V(S3)
d处填写P(S2)
e处填写V(S4)
f处填写P(S3) P(S4)
g处填写V(S5)
h处填写P(S5)
参考答案:
(50)B(51)D(52)C