Skip to content

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忙碌时间占总时间的比例CPU利用率=CPU工作时间总时间\text{CPU利用率} = \frac{\text{CPU工作时间}}{\text{总时间}}
系统吞吐量单位时间内完成的作业数吞吐量=完成作业数总时间\text{吞吐量} = \frac{\text{完成作业数}}{\text{总时间}}
周转时间作业从提交到完成的总时间T=T完成T提交T = T_{\text{完成}} - T_{\text{提交}}
等待时间进程在就绪队列中等待的总时间T等待=T周转T执行TI/OT_{\text{等待}} = T_{\text{周转}} - T_{\text{执行}} - T_{\text{I/O}}
响应时间从请求提交到首次响应的时间T响应=T首次运行T提交T_{\text{响应}} = T_{\text{首次运行}} - T_{\text{提交}}

带权周转时间:W=T周转T执行W = \frac{T_{\text{周转}}}{T_{\text{执行}}}W1W \geq 1,越接近1越好。

2.5 调度准则对比表

准则面向优化目标适用场景
最大CPU利用率系统充分利用CPU批处理系统
最大吞吐量系统完成尽可能多的作业批处理系统
最小周转时间用户作业尽快完成批处理系统
最小等待时间用户减少等待通用系统
最小响应时间用户尽快响应交互式/分时系统

三、记忆与理解辅助

  1. 口诀记忆性能指标:"利吞周等响"——CPU利用率、吞吐量、周转时间、等待时间、响应时间
  2. 带权周转时间公式W=周转时间执行时间W = \frac{周转时间}{执行时间}W1W \geq 1,越小越好
  3. 周转时间 = 等待时间 + 执行时间 + I/O时间
  4. 抢占式 vs 非抢占式一句话:抢占式"随时能抢",非抢占式"用完才让"

四、例题与精解

例题1(基础巩固)

题目:某作业提交时间为0,执行时间为4,完成时间为10,则该作业的周转时间和带权周转时间分别为( )

A. 10, 2.5 B. 6, 1.5 C. 10, 0.4 D. 6, 2.5

命题意图:考查周转时间和带权周转时间的计算。

精解

  1. 审题分析:提交时间=0,执行时间=4,完成时间=10
  2. 解题思路:周转时间=完成时间-提交时间,带权周转时间=周转时间/执行时间
  3. 完整步骤
    • 周转时间 = 完成时间 - 提交时间 = 10 - 0 = 10
    • 带权周转时间 = 周转时间 / 执行时间 = 10 / 4 = 2.5
    • 结果:周转时间=10,带权周转时间=2.5
  4. 方法反思:注意区分"执行时间"和"周转时间"——执行时间是CPU实际工作时间,周转时间是从提交到完成的总时间(包含等待时间)

答案:A

例题2(中等提升)

题目:以下关于CPU调度的描述,错误的是( )

A. 抢占式调度比非抢占式调度的系统开销大 B. 分时系统必须采用抢占式调度 C. 中级调度的频率高于低级调度 D. 周转时间包含了进程的等待时间

命题意图:考查调度方式和调度层次的理解。

精解

  1. 审题分析:题目要求选出"错误"的描述
  2. 解题思路:逐项分析调度的基本概念
  3. 完整步骤
    • A选项:正确。抢占式调度需要频繁保存/恢复上下文,开销更大
    • B选项:正确。分时系统要求及时响应用户,必须采用抢占式调度
    • C选项:错误。低级调度(进程调度)的频率最高(毫秒级),中级调度频率低于低级调度
    • D选项:正确。周转时间 = 等待时间 + 执行时间 + I/O时间
  4. 方法反思:三级调度的频率关系:低级 > 中级 > 高级

答案:C


五、考情分析

  • 考查频次:近5年约4–5次
  • 常见题型:选择题,偶尔在综合题中计算指标
  • 分值占比:2分/题(选择题),综合题中5–8分
  • 命题趋势:性能指标(特别是周转时间和带权周转时间)的计算是必考内容,常与具体调度算法结合出题

六、易错点提醒

  1. 错误表现:将周转时间和执行时间混淆 错误原因:两者都涉及"时间" 正确理解:执行时间是CPU实际工作的时间,周转时间是从提交到完成的全部时间(含等待和I/O)

  2. 错误表现:认为带权周转时间可以小于1 错误原因:忽略了周转时间 ≥ 执行时间 正确理解:带权周转时间 = 周转时间/执行时间,周转时间至少等于执行时间,所以 W1W \geq 1

  3. 错误表现:认为非抢占式调度比分时系统更适合交互式应用 错误原因:忽略了交互式系统对响应时间的要求 正确理解:非抢占式调度可能导致一个长作业长期占用CPU,其他交互式请求得不到响应


七、来源标注

  • 依据2026考研统考408大纲
  • 依据《计算机操作系统》(汤小丹/汤子瀛版)第3章
  • 依据《操作系统概念》(Silberschatz版)第5章

考研全科复习资料 - 基于2026考研统考大纲