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

单选题

若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(请作答此空);空③和空④处应分别为(请作答此空);空⑤和空⑥处应分别为V(S7)和(请作答此空)。begin(开始)S1,S2,S3,S4,S5,S6,S7,S8:semaphore; //定义信号量

A
A
B
B
C
C
D
D
使用微信搜索喵呜刷题,轻松应对考试!

答案:

D

解析:

根据提供的前趋图和程序,我们可以分析每个进程的执行顺序和相应的信号量操作。

  1. 对于空①和空②,由于P1没有进入任何进程的前趋关系,所以它开始时不需要进行P操作,而是直接执行其任务,执行完后释放相关的信号量。因此,空①和空②应该是P2开始时的操作,即V(S1)和V(S2)(或V(S2)、V(S1))。
  2. 对于空③和空④,根据前趋图,P3在进入之前需要等待P2完成,因此它开始时的操作应该是与P2的结束操作相对应的信号量的P操作。结合图中的信息,可以确定空③和空④分别是P(S3)和P(S5)(或P(S5)、P(S3))。
  3. 对于空⑤和空⑥,我们需要考虑P4和P6的同步与互斥。根据前趋图,P4需要等待P3完成,而P6需要等待P5完成。因此,在P4和P6开始执行时,应该进行相应的信号量的操作。考虑到每个进程结束时都需要释放信号量,所以空⑤应该是某个进程的起始操作,而空⑥则是该进程释放的信号量的操作。结合选项D的描述,我们可以确定空⑤为V(S7),而空⑥为P(S7)P(S8)(或其他合理答案)。这样确保了P4和P6之间的同步与互斥。
创作类型:
原创

本文链接:若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(请作答此空);空

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

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

分享考题
share