题目
【单选题】若P、V操作的信号量S初值为2,当前值为-1,则表示有()等待进程;A. 0B. 1C. 2D. 3
【单选题】若P、V操作的信号量S初值为2,当前值为-1,则表示有()等待进程;
A. 0
B. 1
C. 2
D. 3
题目解答
答案
B. 1
解析
信号量机制是操作系统中用于进程同步与互斥的重要工具,P操作(等待)和V操作(释放)是其核心操作。
- P操作:信号量值减1,若结果为负,则进程进入等待队列;
- V操作:信号量值加1,若结果仍为负,则唤醒一个等待进程。
关键点:信号量的当前值直接反映资源状态。当信号量值为负时,其绝对值表示等待进程的数量。例如,若信号量值为$-3$,则有$3$个进程在等待。
题目中信号量$S$的初始值为$2$,当前值为$-1$。
- 初始值分析:初始值$2$表示系统中可用资源数为2。
- 当前值含义:当前值$-1$为负数,说明资源已被过度申请。根据规则,绝对值$1$对应等待进程数为1。
- 操作推导:
- 若仅通过$P$操作,初始值$2$需被减$3$次($2 - 3 = -1$),其中前$2$次消耗资源,第$3$次导致进程等待。
- 若存在$V$操作,需保证最终值仍为$-1$,但无论操作顺序如何,最终值的绝对值始终等于等待进程数。