对信号量S执行V操作后,以下叙述中正确的是(    )。(2013年嵌入式系统设计师下半年)
A.当S等于0时唤醒一个阻塞进程
B.当S小于0时唤醒一个阻塞进程
C.当S小于等于0时唤醒一个就绪进程
D.当S小于0时唤醒个就绪进程
 
 
 
 
参考答案:A
参考解析:本题考查操作系统的基础知识。荷兰学者Dijkstra提出的信号量(或信号灯)机制,是一种卓有成效的进程同步与互斥的工具。对信号量的操作原语有两种,P操作和V操作。P操作和V操作是执行时不被打断的两个操作系统原语,P操作和V操作必须成对使用。
    在操作系统中,信号量是表示资源的实体,它由两个成员(S,Q)构成,其中S是一个具有非负初值的整型变量,是一个初始状态为空的队列。整型变量S表示系统中某类资源的使用情况,当其值大于0时,表示系统中当前可用资源的数目;当其值小于0时,其绝对值表示系统中因请求该类资源而阻塞等待的进程数目。除信号量的初值外,信号量的值能由P操作和V操作改变。
    P(S)的主要功能是:先执行S=S-1;若S≥0则进程继续执行;若S<0则阻塞该进程,并将它插入到该信号量的等待队列Q中。
    V(S)的主要功能是:先执行S=S+1;若S>0则进程继续执行;若S≤0则从该信号量等待队列中移出第一个进程,使其变为就绪状态并插入就绪队列,然后再返回原进程继续执行。
    综上所述,当前的S小于等于0时,会将信号量队列中第一个进程移出,变为就绪状态。当S等于0时,原进程执行完后,移出的进程就会被唤醒。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接:https://scpro.cn/v/77250bfdb79d11ee.html

相关文章

最近发表

好文推荐