题3

题目

Q:若一个信号量的初值为 3 , 经过多次 PV 操作后当前值为 -1 , 这表示等待进入临界区的进程数是 ( ) 。
A. 1
B. 2
C. 3
D. 4

分析

A:信号量大于0,表示资源可用,如果申请到了一份资源,那么就要把信号量减一,如果信号量等于0了,那么就要把这个进程阻塞挂起,等待资源的释放。

A
信号量是一个特殊的整型变量,只有初始化和 操作才能改变其值。
通常,信号量分为互斥量和资源量, 互斥量的初值一般为 1 , 表示临界区只允许一个进程进入, 从而实现互斥。
当互斥量等于 0 时, 表示临界区已有一个进程进入, 临界区外尚无进程等待;
互斥量小于 0 时, 表示临界区中有一个进程, 互斥量的绝对值表示在临界区外等待进入的进程数
同理, 资源信号量的初值可以是任意整数, 表示可用的资源数, 当资源量小于 0 时, 表示所有资源已全部用完, 而且还有进程正在等待使用该资源, 等待的进程数就是资源量的绝对值