在某超市里有一个收银员,且同时最多允许有n个顾客购物,我们可以将顾客和收银员看成是两类不同的进程,且工作流程如图5-4所示。为了利用P-V操作正确地协调这两类进程之间的工作,设置了三个信号量S1、S2和Sn,且初值分别为0,0和n。这样图中的口应填写(46),图中的b1,b2应分别填写(47),图中的c1,c2应分别填写(48)。
A.P(S1)
B.P(S2)
C.P(Sn)
D.P(Sn),P(S1)
第1题:
某仓库有两名发货员,一名审核员。当顾客提货时,只要发货员空闲,就允许顾客进入仓库提货,顾客离开时,审核员检验顾客提货是否正确。其工作流程如图3.16所示。为了利用P/V操作正确地协调它们之间的工作,设置了两个信号量S1和S2,且S1的初值为2,S2的初值为1。图3.16中的a应填写(34),b、c和d应分别填写(35)。
A.P(S1)
B.P(S2)
C.V(S1)
D.V(S2)
第2题:
某酒店的客房预订系统有n个预订终端,系统为每个终端创建一个进程Pi(i=1,2,…, n)。假设Xj(j=1,2,…,m)存放各种规格住房的剩余房源,Temp为临时工作单元,终端创建一个进程Pi的工作流程如下图所示,图中①、②和③处将执行P操作或V操作。为了保证各进程间的同步与互斥,系统初始化时将信号量S赋值为(47),下图中①、②和③处应依次填入(48)。
A.0
B.1
C.2
D.3
第3题:
某工厂仓库有一名保管员,该仓库可存放n箱零件。该工厂生产车间有m名工人,只要仓库空闲,工人将生产好的整箱零件放入仓库,并由保管员登记入库数量:该工厂销售部有k名销售员,只要仓库库存数能满足客户要求,便可提货,并由保管员登记出库数量。规定工人和销售员不能同时进入仓库,但是工人和工人,销售员和销售员可以同时进入仓库,其工作流程如下图所示。假设系统中P操作表示申请一个资源,当执行P操作叶对信号量减1,若信号量 S≥0,则执行P操作的进程继续执行,否则等待。系统中v操作表示释放一个资源,当执行V操作时对信号量加1,若信号量>0,则执行V操作的进程继续执行;若信号量≤ 0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。为了利用PV操作正确地协调工人和销售员进程之间的工作,设置了信号量S1、S2和S3,他们的初值分别为n、0和1。图中的a和b应填写(40);图中的c、d、g和h应分别填写(41):图中的c、d、g和h应分别填写(42)。
A.P(S1)、V(S1)
B.P(S1)、V(S2)
C.P(S2)、V(S2)
D.P(S2)、V(S1)
第4题:
某系统有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。用PV操作实现进程间的同步模型如图2-3所示。假设信号量S1的初值为1,信号量S2的初值为0,那么,a、b处应当写别填(1),c、d处分别填(2)。
A.V(S2)、P(S1)
B.P(S1)、V(S2)
C.P(S2)、V(S1)
D.V(S1)、P(S2)
第5题:
某书店有一个收银员,该书店最多允许n个购书者进入。将收银员和购书者看作不同的进程,其工作流程如下图所示。利用PV操作实现该过程,设置信号量S1、S2和Sn,初值分别为0,0,n。则图中a1, a2应填入(46),图中b1和b2应填入(47)。
A.V(S1)、P(S2)
B.V(Sn)、P(Sn)
C.p(S1)、V(S2)
D.P(S2)、V(S1)