Appearance
408
操作系统
CPU调度概念与调度准则
一、定位信息
- 所属圈层:核心层
- 前置知识:了解进程状态与状态转换(OS-02-02),了解进程切换(OS-02-03)
- 知识网络位置:本单元是调度算法(OS-02-07)的理论基础,掌握调度准则才能理解各算法的优劣
- 考点热度等级:H级(高频重点)——调度性能指标的计算几乎每年必考
二、知识点讲解
2.1 CPU调度的概念
CPU调度(又称进程调度/低级调度)是OS从就绪队列中选择一个进程,将CPU分配给它的过程。调度发生的时机包括:
- 运行进程终止
- 运行进程阻塞(如I/O请求)
- 时间片用完
- 更高优先级进程到达(抢占式调度)
2.2 调度方式
| 方式 | 说明 | 特点 |
|---|---|---|
| 非抢占式(Non-preemptive) | 进程获得CPU后一直运行直到终止或阻塞 | 简单,但响应时间长 |
| 抢占式(Preemptive) | OS可以剥夺正在运行进程的CPU | 响应快,但切换开销大 |
注意:批处理系统常用非抢占式,分时系统和实时系统必须用抢占式。
2.3 调度的层次
| 层次 | 调度对象 | 频率 | 功能 |
|---|---|---|---|
| 高级调度(作业调度) | 作业 | 低(分钟级) | 从外存选择作业调入内存 |
| 中级调度(内存调度) | 进程 | 中(秒级) | 将进程挂起/解除挂起,管理内存 |
| 低级调度(进程调度) | 进程 | 高(毫秒级) | 从就绪队列选择进程分配CPU |
2.4 调度性能指标
| 指标 | 定义 | 计算公式 |
|---|---|---|
| CPU利用率 | CPU忙碌时间占总时间的比例 | |
| 系统吞吐量 | 单位时间内完成的作业数 | |
| 周转时间 | 作业从提交到完成的总时间 | |
| 等待时间 | 进程在就绪队列中等待的总时间 | |
| 响应时间 | 从请求提交到首次响应的时间 |
带权周转时间:,,越接近1越好。
2.5 调度准则对比表
| 准则 | 面向 | 优化目标 | 适用场景 |
|---|---|---|---|
| 最大CPU利用率 | 系统 | 充分利用CPU | 批处理系统 |
| 最大吞吐量 | 系统 | 完成尽可能多的作业 | 批处理系统 |
| 最小周转时间 | 用户 | 作业尽快完成 | 批处理系统 |
| 最小等待时间 | 用户 | 减少等待 | 通用系统 |
| 最小响应时间 | 用户 | 尽快响应 | 交互式/分时系统 |
三、记忆与理解辅助
- 口诀记忆性能指标:"利吞周等响"——CPU利用率、吞吐量、周转时间、等待时间、响应时间
- 带权周转时间公式:,,越小越好
- 周转时间 = 等待时间 + 执行时间 + I/O时间
- 抢占式 vs 非抢占式一句话:抢占式"随时能抢",非抢占式"用完才让"
四、例题与精解
例题1(基础巩固)
题目:某作业提交时间为0,执行时间为4,完成时间为10,则该作业的周转时间和带权周转时间分别为( )
A. 10, 2.5 B. 6, 1.5 C. 10, 0.4 D. 6, 2.5
命题意图:考查周转时间和带权周转时间的计算。
精解:
- 审题分析:提交时间=0,执行时间=4,完成时间=10
- 解题思路:周转时间=完成时间-提交时间,带权周转时间=周转时间/执行时间
- 完整步骤:
- 周转时间 = 完成时间 - 提交时间 = 10 - 0 = 10
- 带权周转时间 = 周转时间 / 执行时间 = 10 / 4 = 2.5
- 结果:周转时间=10,带权周转时间=2.5
- 方法反思:注意区分"执行时间"和"周转时间"——执行时间是CPU实际工作时间,周转时间是从提交到完成的总时间(包含等待时间)
答案:A
例题2(中等提升)
题目:以下关于CPU调度的描述,错误的是( )
A. 抢占式调度比非抢占式调度的系统开销大 B. 分时系统必须采用抢占式调度 C. 中级调度的频率高于低级调度 D. 周转时间包含了进程的等待时间
命题意图:考查调度方式和调度层次的理解。
精解:
- 审题分析:题目要求选出"错误"的描述
- 解题思路:逐项分析调度的基本概念
- 完整步骤:
- A选项:正确。抢占式调度需要频繁保存/恢复上下文,开销更大
- B选项:正确。分时系统要求及时响应用户,必须采用抢占式调度
- C选项:错误。低级调度(进程调度)的频率最高(毫秒级),中级调度频率低于低级调度
- D选项:正确。周转时间 = 等待时间 + 执行时间 + I/O时间
- 方法反思:三级调度的频率关系:低级 > 中级 > 高级
答案:C
五、考情分析
- 考查频次:近5年约4–5次
- 常见题型:选择题,偶尔在综合题中计算指标
- 分值占比:2分/题(选择题),综合题中5–8分
- 命题趋势:性能指标(特别是周转时间和带权周转时间)的计算是必考内容,常与具体调度算法结合出题
六、易错点提醒
错误表现:将周转时间和执行时间混淆 错误原因:两者都涉及"时间" 正确理解:执行时间是CPU实际工作的时间,周转时间是从提交到完成的全部时间(含等待和I/O)
错误表现:认为带权周转时间可以小于1 错误原因:忽略了周转时间 ≥ 执行时间 正确理解:带权周转时间 = 周转时间/执行时间,周转时间至少等于执行时间,所以
错误表现:认为非抢占式调度比分时系统更适合交互式应用 错误原因:忽略了交互式系统对响应时间的要求 正确理解:非抢占式调度可能导致一个长作业长期占用CPU,其他交互式请求得不到响应
七、来源标注
- 依据2026考研统考408大纲
- 依据《计算机操作系统》(汤小丹/汤子瀛版)第3章
- 依据《操作系统概念》(Silberschatz版)第5章