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

admin2018-07-17  39

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

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

答案D

解析     当执行V操作后,S.value≤0,说明了在执行V操作之前S.value<0(此时S.value的绝对值就是阻塞队列中的进程的个数),所以阻塞队列必有进程在等待,所以需要唤醒一个阻塞队列进程,Ⅰ正确。由Ⅰ的分析可知,S.value≤0就会唤醒。因为可能在执行V操作前,只有一个进程在阻塞队列,也就是说S.value=一1,执行V操作后,唤醒该阻塞进程,S.value=0,Ⅱ错误。S.value的值和就绪队列中的进程没有此层关系,Ⅲ错误。而当S.value>0时,说明没有进程在等待该资源,系统自然不做额外的操作,Ⅳ正确。
转载请注明原文地址:https://kaotiyun.com/show/ryRi777K
0

最新回复(0)