试题详情
简答题 今有三个进程R,W1,W2共享一个缓冲器B,B中每次只能放一个数。进程每次启动输入设备读一个数且把它放到缓冲器B中,若放到缓冲器的是奇数,则由W1取出打印处理,若放到缓冲器的是偶数,则由W2。规定缓冲区无数据时,才能放下一个数,而数据也不能重复打印。为了实现三个进程的同步与互斥,需定义三个信号量:S、S1、S2,才能保证正确的并发执行,现程序结构如下所示。请在下述程序的空(1)~(7)处填上适当的PV操作,以保证他们能正确的并发执行;说明S、S1、S2的作用。
  • (1)P(S)
    (2)V(S1)
    (3)V(S2)
    (4)P(S1)
    (5)V(S)
    (6)P(S2)
    (7)V(S)
    S的作用是:是一个互斥信号量,表示缓冲区是否为空,初值为1
    S1的作用是:是一个同步信号量,表示缓冲区存放的是奇数,初值为0
    S2的作用是:是一个同步信号量,表示缓冲区存放的是偶数,初值为0
  • 关注下方微信公众号,在线模考后查看

热门试题