【正确答案】
B、C
【答案解析】如果执行之后S大于等于0,则表明此次申请资源成功,进程可以继续执行;如果执行之后S小于0,则表明本次申请未能得到满足,因此插入到等待队列中。
类似地,也可以总结出v操作的相关规律:
每执行一次V操作,信号量S加1,如果加1后S大于0,则该进程继续执行;若S小于等于0,则从该信号量对应的等待队列中取出一个进程,并使该进程的状态变为就绪状态。
如果执行之后S大于0,则表明当前没有等待的进程,当前进程不需要执行唤醒操作,继续执行即可;如果执行过V操作后S小于等于0,说明当前队列中有等待的进程,需要将其中的一个唤醒。