问题 单项选择题

某仓库有两名发货员,一名审核员。当顾客提货时,只要发货员空闲,允许顾客进入仓库提货,顾客离开时,审核员检验顾客提货是否正确。其工作流程如右下图所示。为了利用PV操作正确地协调他们之间的工作,设置了两个信号量S1和S2,且S1的初值为2,S2的初值为1。图中的a 应填写 (25) ;图中的b、c和d应分别填写 (26) 。

(26)处填()。

A.P(S2)、V(S2)和V(S1)

B.P(S1)、V(S1)和V(S2)

C.V(S1)、P(S2)和V(S2)

D.V(S2)、P(S1)和V(S1)

答案

参考答案:C

解析:

[分析]:

本题考查操作系统中进程之间的相互作用,主要是如何利用P、V操作实现进程间的同步和互斥。P操作表示申请一个资源,即P(S):S=S-1;若S>=0,则调用P操作的进程继续执行;若S<0,则调用P操作的进程被阻塞,并把它插入到等待信号量S的阻塞队列中。V操作表示释放一个资源,即V(S):S=S+1;若S>0,则调用V操作的进程继续执行;若S<=0,则从等待信号量S的阻塞队列中唤醒第一个进程,然后自己继续执行。本题中,信号量S1用于顾客进程之间的互斥,初值为2,允许2个进程同时执行,对于2个发货员,所以顾客进程首先要看发货员是否空闲,执行P(S1),所以第25题正确答案为A;提货后,顾客进程要释放S1,执行V(S1),然后看审核员是否空闲,这里用信号量S2表示,初值为1,表示只有一个审核员,执行P(S2),审核后释放S2,执行V(S2),所以第26题正确答案为C。

选择题
单项选择题