某企业的生产流水线上有2名工人P 1 和P 2 ,1名检验员P 3 。P 1 将初步加工的半成品放入半成品箱B 1 ;P 2 从半成品箱B 1 取出继续加工,加工好的产品放入成品箱B 2 ;P 3 从成品箱B 2 取出产品检验。假设B 1 可存放n件半成品,B 2 可存放m件产品,并设置6个信号量S1、S2、S3、S4、S5和S6,且S3和S6的初值都为0。采用PV操作实现P 1 、P 2 和P 3 的同步模型如下图所示,则信号量S1和S5__________(8);S2、S4的初值分别为___________(9)。
单选题 (8)
【正确答案】 C
【答案解析】解析:因为信号量S1是一个互斥信号量,表示半成品箱B1当前有无工人(生产者)使用,所以初值为1。信号量S5也是一个互斥信号量,表示成品箱B2当前有无工人或检验员使用,所以初值为1。
单选题 (9)
【正确答案】 D
【答案解析】解析:信号量S2表示半成品箱B1的容量,故S2的初值为n。当工人P1不断地将其工序上加工的半成品放入半成品箱B 1 时,应该先测试半成品箱是否有空位,故工人P1使用P(S2),当工人P2从半成品箱取一件半成品时,半成品箱B 1 就空出一个空位,故工人P2使用V(S2)释放空间。 同理,信号量S4表示成品箱B2的容量,故S4的初值为m。当工人P2完成一件产品放入成品箱B 2 时,应该先测试成品箱是否有空位,故工人P2使用P(S4),当检验员P3从成品箱取一件产品检验时,成品箱B 2 就空出一个空位,故检验员P3使用V(S4)释放空间。