若有一个仓库,可以存放P1,P2两种产品,但是每次只能存放一种产品,要求: ①w=P1的数量-P2的数量 ②-i<w<k(i,k为正整数) 若用PV操作实现P1和P2产品的入库过程,至少需要(9)个同步信号量及(10)个互斥信号量,其中,

admin2019-03-11  41

问题 若有一个仓库,可以存放P1,P2两种产品,但是每次只能存放一种产品,要求:
   ①w=P1的数量-P2的数量
   ②-i<w<k(i,k为正整数)
   若用PV操作实现P1和P2产品的入库过程,至少需要(9)个同步信号量及(10)个互斥信号量,其中,同步信号量的初值分别为(11),互斥信号量的初值分别为(12)。

选项 A、1
B、1,1
C、1,1,1
D、i,k

答案A

解析 为了标识P1和P2产品入库,我们需要两个同步信号量S1和S2,分别标记P1和P2的数量。根据题意,S1的初值显然不能大于等于k。因为如果S1的初值超过k,而此时又有P1产品入库,就有可能会造成w的越界。同理S2的初值一样不能超过i。此外,我们还需要设置一个互斥信号量mutex,其初值为1,使得多个进程能够互斥地访问临界区。P1或P2两种产品中的任一种产品申请入库成功后,将mutex减1,使其他进程无法在此期间使用仓库。入库操作完成后,再将mutex加1,其他进程就可以申请入库了。
转载请注明原文地址:https://kaotiyun.com/show/eMRZ777K
0

最新回复(0)