列表

详情


某企业的生产流水线上有2名工人P1 和P2,1名检验员P3。P1将初步加工的半成品放入半成品箱B1,P2从半成品箱B1取出继续加工,加工好的产品放入成品箱B2,P3从成品箱B2取出产品检验。假设B1可存放N件半成品B2可存放M件产品,并且设置6个信号量S1、S2、S3、S4、S5和S6,且S3和S6的初值都为0,采用PV操作实现P1、P2和P3的同步模型如下图所示,则信号量S1和S5(  )S2 、S4的初值分别为(  )。


第 1 问

A. 分别为同步信号量和互斥信号量,初值分别为0和1

B. 都是同步信号量,其初值分别为0和0

C. 都是互斥信号量,其初值分别为1和1

D. 都是互斥信号量,其初值分别为0和1

第 2 问

A. n,0

B. m,0

C. m,n

D. n,m

参考答案: C D

详细解析:

对于B1每次执行前都只P(S1),访问完B1后,执行V(S1),从这种结构来看,P(S1)……V(S1)的作用是:保证进程只有一个同时访问B1,所以S1应为互斥信号量,其初始值应为1;同样S5应该与S1类似
在将物品放入B1前执行P(S2),再从B1取走物品后执行V(S2),说明该信号量S2应为同步信号量,执行P(S2)时先判定B1中是否有存储空间,如果有则放入物品,没有则进行等待;V(S2),是在从B1拿走物品后执行,即:当从B1中取出1件商品后,B1就有一个空间,接下来通过V(S2)来唤醒队列中等待向B1中放物品的进程。由于B1可以放n件物品,所以S2应该为n;S4与S2相似,所以S2应该为m。


上一题