刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

进程P1、P2、P3、P4和P5的前趋图如图1-2所示:




若用PV操作控制这5个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为 (1) ;空③和空④处应分别为 (2) ;空⑤和空⑥处应分别为 (3) 。


A
V(S1)和P(S2)
B
 P(S1)和V(S2)
C
V(S1)和V(S2)
D
V(S2)和P(S1)
使用微信搜索喵呜刷题,轻松应对考试!

答案:

D

解析:

根据进程的前趋图,我们可以知道各个进程之间的同步和互斥关系。PV操作用于进程同步,其中P操作用于等待,V操作用于唤醒。

对于空①和空②:

  • 进程P1执行完毕后需要通知进程P2,所以应该在P1的结束处使用V操作,即V(S2)。
  • 进程P2需要等待P1执行完毕,所以应该在P2的开始处使用P操作,即P(S1)。

对于空③和空④:

  • 进程P2执行完毕后需要通知进程P3和P4,所以应该在P2的结束处使用V操作,考虑到P3和P4都需要知道P2的执行状态,所以应该是V(S3)和V(S4)。
  • 进程P3需要等待P1和P2都执行完毕,所以应该在P3的开始处先后进行P操作,首先是P(S2)判断P1是否完成,然后是P(S3)判断P2是否完成。

对于空⑤和空⑥:

  • 进程P4需要等待P2和P3都执行完毕,所以应该在P4的开始处进行P操作,分别是P(S5)和P(S7)。
  • 进程P5需要等待P3和P4都执行完毕,所以应该在P5的开始处进行P操作,此处只需要填写一个信号量判断即可,选择P(S7)。

综上所述,空①和空②处应分别为V(S2)和P(S1);空③处应为P(S3),空④处应为V(S5)V(S6);空⑤处应为P(S5);空⑥处应为P(S7)。因此,正确答案为D。

创作类型:
原创

本文链接:进程P1、P2、P3、P4和P5的前趋图如图1-2所示: 若用PV操作控制这5个进程的同步与

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share