操作系统学习之——系统分析师PV操作的典型试题

来源:互联网 发布:淘宝开店名称叫什么好 编辑:程序博客网 时间:2024/06/05 07:07

近来几天一直在学习操作系统,其中的PV操作光看书,老是不能明白,学习之余,学习了该博客。

网址为:http://blog.csdn.net/littletigerat/article/details/6430215 谢谢原文作者。


系统分析师PV操作的典型试题

2009年的试题

  1. ● 进程P1、P2、P3、P4、P5的前趋图如下:

 

    若用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

2010年的试题

● 进程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


原创粉丝点击