问题 单项选择题

在操作系统中,对信号量S的P原语操作定义中, 是使进程进入相应等待队列的条件。

A.S<0

B.S=0

C.S>0

D.S<>0

答案

参考答案:A

解析: 信号量是表示资源的物理量,它只能供P操作和v操作使用,利用信号量S的取值表示共享资源的使用情况,或用它来指示进程之间交换的信息。在具体使用中,把信号量S放在进程运行的环境中,赋予其不同的初值,并在其上实施P操作和V操作,以实现进程间的同步和互斥。P、V操作是定义在信号量S上的两个操作原语:
P(S):(1) S←S-1;
(2) 若S≥0,则调用P(S)的这个进程继续被执行;
(3) 若S<0,则调用P(S)的这个进程被阻塞,并将其插入到等待信号量S的阻塞队列中。
V(S):(1) S←S+1;
(2) 若S>0,则调用P(S)的这个进程继续被执行;
(3) 若S≤0,则先从等待信号量S的阻塞队列中唤醒队首进程,然后调用V(S)的这个进程继续执行。
信号量S>O时的数值表示某类资源的可用数量,执行P操作意味着申请分配一个单位的资源,故执行S减l操作,若减1后S<0,则表示无资源可用,这时S的绝对值表示信号量S对应的阻塞队列中进程个数。执行一次V操作则意味着释放一个单元的资源,故执行S增1操作,若增1后S≤0,则表示信号量S的阻塞队列中仍有被阻塞的进程,故应唤醒该队列上的第一个阻塞进程。

单项选择题
单项选择题