对计数型信号量S执行V操作后,下列选项错误的是( )。 Ⅰ.当S.value≤0时,唤醒一个阻塞队列进程 Ⅱ只有当S.value<0时,唤醒一个阻塞队列进程 Ⅲ.当S.value≤0时,唤醒一个就绪队列进程 Ⅳ.只有当S.value<0时,唤醒一个就

admin2019-12-10  47

问题 对计数型信号量S执行V操作后,下列选项错误的是(    )。
Ⅰ.当S.value≤0时,唤醒一个阻塞队列进程
Ⅱ只有当S.value<0时,唤醒一个阻塞队列进程
Ⅲ.当S.value≤0时,唤醒一个就绪队列进程
Ⅳ.只有当S.value<0时,唤醒一个就绪队列进程

选项 A、Ⅱ、Ⅲ
B、Ⅱ、Ⅲ、Ⅳ
C、Ⅰ、Ⅲ
D、Ⅰ、Ⅲ、Ⅳ

答案B

解析 计数型信号量就是记录型信号量,不要被这个搞混了。
Ⅰ正确。当执行V操作后,S.value≤0,说明了在执行V操作之前S.value<0(此时S.value的绝对值就是阻塞队列中进程的个数),所以阻塞队列必有进程在等到,所以需要唤醒一个阻塞队列的进程。
Ⅱ错误。由Ⅰ的分析可知,S.value≤0就会唤醒。因为可能在执行V操作前,只有一个进程在阻塞队列,也就是说S.value=—1,执行V操作后,唤醒该阻塞进程,S.value=0。
Ⅲ和Ⅳ错误。S.value的值和就绪队列中的进程没有此层关系,所以全错。
综上所述,本题选B。
转载请注明原文地址:https://jikaoti.com/ti/GJDjFFFM
0

最新回复(0)