列表

详情


假设系统有n个进程共享资源R,且资源R的可用数为3,其中n≥3。若采用PV操作,则信号量S的取值范围应为(  )。

A. -1~n-1

B. -3~3

C. -(n-3)~3

D. -(n-1)~1

参考答案: C

详细解析:

PV操作:是实现进程同步和互斥的常用方法,P操作和V操作是低级通信原语,在执行期间不可分割;其中P操作表示申请一个资源,V操作表示释放一个资源。
P操作的定义:S:=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则将该进程设为阻塞状态(因为无可用资源),并将其插入阻塞队列。
V操作的定义:S:=S+1,若S>0,则执行V操作的进程继续执行;若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
本题中S初始值为3,当n个进程同时执行时,需要执行n次P操作,这时信号量的值应为 3-n,所以信号量的变化范围为:-(n-3)~3

上一题