2.3.3 信号量与PV操作
本课核心知识点整理
📝 学习目标
- 说清楚:信号量与PV操作 是什么 / 解决什么问题
- 会根据题干关键词快速定位对应知识点
🎯 核心概念
- PV 操作通过信号量实现互斥与同步,是操作系统应用题高频知识点。
- P 操作用于申请资源,V 操作用于释放资源,信号量值反映资源可用情况。
- 前趋图常用于表示任务先后关系,并可转化为 PV 操作约束。
- 解题关键是正确设置信号量初值与 P/V 顺序。
📖 概念解释
- 信号量:用于协调并发进程访问共享资源的整型变量。
- P 操作:S=S-1;若 S<0,则进程阻塞等待。
- V 操作:S=S+1;若 S<=0,则唤醒等待进程。
- 前趋图:描述任务执行先后关系的有向图。
🛠️ 相关技术罗列
- 先区分题目目标是“互斥”还是“同步”,再设计信号量。
- 互斥信号量初值常设为1;计数资源按可用资源数设初值。
- 前趋关系可按“前驱任务V,后继任务P”进行映射。
📊 关键对比表
| 对比主题 | 结论/考点 |
|---|---|
| 互斥 | 同一时刻仅一个进程访问临界资源 |
| 同步 | 多个进程按既定顺序协同执行 |
| 二值信号量 | 取值一般为0/1,常用于互斥 |
| 计数信号量 | 可表示多个同类资源数量 |
📘 核心词汇
- 信号量:本课核心术语,做题时需能快速识别其定义与适用场景。
- P操作:本课高频术语,建议结合“定义 + 特点 + 题型”记忆。
- V操作:本课高频术语,建议结合“定义 + 特点 + 题型”记忆。
- 互斥:本课高频术语,建议结合“定义 + 特点 + 题型”记忆。
- 同步:本课高频术语,建议结合“定义 + 特点 + 题型”记忆。
- 前趋图:常作为题干关键词出现,注意与相近概念的边界。
- 信号量与PV操作:英文缩写高频考点,常结合定义、用途和对比进行考察。
- PV操作:英文缩写高频考点,常结合定义、用途和对比进行考察。
🔍 知识扩展
- 可结合生产者-消费者、读者-写者问题训练 PV 模板。
- 若出现环形等待,需检查是否存在死锁风险。
🔍 关键解析
- 常考点1:P/V 操作语义与执行结果判断。
- 常考点2:信号量初值设置。
- 常考点3:前趋图到 PV 代码的转换。
⭐ 考点速记
- 常考点1:P/V 操作语义与执行结果判断。
- 常考点2:信号量初值设置。
- 常考点3:前趋图到 PV 代码的转换。
🧠 难点与易错点
- 易错:P/V 顺序写反导致同步关系错误。
- 易错:把互斥信号量和同步信号量混用。
- 易错:忽略初值约束,导致结果与题意不符。
🔑 关键词
操作系统、信号量与PV操作
🧪 模拟考试例题(按难度)
以下例题基于本节高频考点重构,重点覆盖概念识别、对比辨析与综合场景题:
⭐ 简单(概念识别 / 定义匹配)
单选
执行 P(S) 操作后,若 S<0,则当前进程应:
单选
用于单临界资源互斥的信号量初值通常设置为:
单选
若任务 A 必须先于任务 B 执行,常见同步写法是:
⭐⭐ 中等(概念对比 / 关键词定位)
单选
当信号量 S=-3 时,通常表示:
单选
关于互斥与同步信号量的说法,正确的是:
⭐⭐⭐ 较难(综合 / 题干场景化)
单选
生产者-消费者问题中,缓冲区空槽信号量 empty 初值应设置为:
单选
若题目要求“避免忙等并保证互斥”,优先选择的机制是: