假设系统有n (n≧5)个并发进程共享资源R,且资源R可用数为2。若采用PV操作,则相应信号量S取值范围应为( )。
- A.-1~n-1
- B.-5~2
- C.-(n-1)~1
- D.-(n-2)~2
正确答案及解析
正确答案
D
解析
本小题考查PV操作基础知识。PV操作与信号量处理相关,P表示通过意思,V表示释放意思。一般来说,信号量S大于等于0时,S表示可用资源数量。执行一次P操作意味着请求分配一个单位资源,因此S值减1;当S小于0时,表示已经没有可用资源,请求者必须等待别进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S值加1;若S小于0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态进程,使之运行下去。初始值资源数为2,所以信号量S最大值是2,n进程申请,则信号量S最小值为2-n,也就是-(n-2)。