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

单选题

进程Pl、P2、P3、P4、P5和P6的前趋图如下图所示:




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

(3)A.P(S6)和P(S7)V(S8)B.V(S6)和V(S7)V(S8)

C.P(S6)和P(S7)P(S8)D.V(S7)和P(S7)P(S8)

begin

  S1,S2,S3,S4,S5,S6,S7,S8:semaphore;   //定义信号量

  S1:=0;S2:=0;S3:=0;S4=0;S5:=0;S6:=0;S7:=0;S8:=0;

  Cobegin

process P1

process P2 process P3 process P4 process P5 process P6

begin

begin

begin

begin

begin

begin

   P1执行;

 (2);

P(S2);

P(S4);

P(S6);

(6)

   (1);

P2执行;

 (3);

  P(S5);

P5执行;

P6执行;

end;

V(S3);

P3执行;

P4执行;

V(S8);

end;


V(S4);

(4);

 (5);

end;



end;

end;

end;



 Coend;

end


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

答案:

D

解析:

根据提供的前趋图,我们可以确定各个进程之间的同步和互斥关系。图中有8条箭线,代表进程之间的依赖关系。我们需要根据这些依赖关系来确定信号量的使用。

对于选择题部分:

  • 空①和空②处应分别为P(S1)和V(S2),这是因为P1进程启动后会进入P(S1),而P2进程启动后会进入V(S2)。因此,答案应为(1)中的选项D。

对于判断题部分:

  • 空③和空④处应分别为V(S3)和V(S4)。这是因为P2进程结束时需要发出这两个信号量,表示它已经完成了与P3进程的互斥或同步操作。所以,(3)的答案应为A。
  • 空⑤处应为P(S5)V(S6)。这是因为P3进程在启动时会进行这两个操作,它需要等待P4进程发出S5信号量,并在完成后发出S6信号量。所以,(4)的答案应为B。至于空⑥处,由于P6进程是最后一个进程,它应该在结束时发出V(S7)或V(S8)信号量,表明它已经完成。因此,(5)的答案应为P(S5)V(S6)。至于(6),考虑到P6是最后一个进程,它应该发出一个结束信号,即V(S7)。
创作类型:
原创

本文链接:进程Pl、P2、P3、P4、P5和P6的前趋图如下图所示: 若用PV操作控制这6个进程的同步与互斥

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

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

分享考题
share