单选题 假设系统中有n个进程共享3台打印机,任一进程在任一时刻最多只能使用1台打印机。若用PV操作控制n个进程使用打印机,则相应信号量S的取值范围为______;若信号量S的值为-3,则系统中有______个进程等待使用打印机。
【正确答案】 B
【答案解析】
【正确答案】 D
【答案解析】[解析] P操作表示申请一个资源,V操作表示释放一个资源。P操作的定义为:“S:=S-1”,若S≥0,则执行P操作的进程继续执行,否则将该进程置为等待状态,排入等待队列。V操作的定义为:“S:=S+1”,若S>0,则执行V操作的进程继续执行,否则释放队列中第一个等待信号量的进程。
本试题中,S是一个互斥信号量,表示当前某台打印机是否被某个进程使用。因为有3台打印机可以并发使用,意味着每次只允许3个进程进入互斥段,所以S的初值应设为3,S的取值范围为3,2,1,0,-1,…,-(n-3)。信号量S的物理意义为:当S≥0时,表示资源的可用数;当S<0时,表示有其绝对值|S|个进程正在等待进入临界区,它们处于等待队列中。若S=-3,则系统中有3个进程等待使用打印机。