单选题 设有n个进程使用同一个共享变量,如果最多允许m(m<n)个进程同时进入相关临界区,则信号量的变化范围是______。
A.n,n-1,…,n-m
B.m,m-1,…,1,0,-1,m-n
C.m,m-1,…,1,0,-1,m-n-1
D.m,m-1,…,1,O,-1,m-n+1

【正确答案】 B
【答案解析】[解析] 由题意可知,信号量有如下几种状态:
m:没有进程进入到临界区,可以允许m个进程进入。
m-1:有一个进程进入到临界区,还可以允许m-1个进入。
0:有m个进程进入到临界区,不允许任何进程进入,但暂时没有资源等待。
-1:临界区已经被占满,而且已经有一个进程进入到等待队列中。
-(n-m)=m-n:最坏的情况,临界区已满,且剩下的进程全部进入到等待队列。