首页/操作系统/02-process/时间片轮转调度 🔗 在 Obsidian 中打开
操作系统 · 02-process

时间片轮转调度

重要度 ★★★★★ RR时间片抢占式分时系统
速查
RR(Round Robin)将就绪进程按到达顺序排成队列,每个进程获得一个时间片 q,用完后被剥夺 CPU 放回队尾抢占式,公平、响应快、不饥饿,适合分时系统。时间片过大→FCFS,过小→切换开销大。

速查

项目
全称Round Robin(时间片轮转)
调度方式抢占式(时间片用完强制让出 CPU)
选择标准FCFS(按到达顺序)
关键参数时间片大小 q
适用场景分时系统(交互式系统)

核心概念

RR 调度:将就绪进程按到达顺序排成队列,每个进程获得一个时间片 $q$,时间片用完后被剥夺 CPU 并放回就绪队列尾部

时间片大小的影响

  • 过大:退化为 FCFS(进程在片内完成,不需轮转)
  • 过小:频繁切换,上下文切换开销大
  • 适中:兼顾响应时间与吞吐量

时间片选择原则:上下文切换时间 $\le$ 时间片的 1%(切换 0.1ms 则 $q \ge 10$ms),一般在 10–100ms。

特点:公平(轮流获 CPU)、响应快、不会饥饿。

关键性质

性质
算法类型抢占式
选择依据FCFS 顺序
是否公平
是否饥饿
适用系统分时系统
时间片效果
$q \to \infty$退化为 FCFS
$q \to 0$过度切换,开销大
$q$ 适中响应与吞吐平衡

常见考法

考法解题套路
时间片大小影响大→FCFS,小→频繁切换,适中→最优
RR 执行模拟按顺序轮流分配时间片,用完回队尾
RR vs FCFSRR 抢占响应好;FCFS 非抢占简单
上下文切换次数每时间片结束切换一次(进程完成时不算)

易错点

注意
  • RR 是抢占式——时间片用完被强制让出 CPU
  • 选择标准是FCFS(到达顺序),不是优先级或执行时间
  • 时间片用完,进程回到队尾,不是头部
  • 进程在时间片内完成时,不发生上下文切换
  • RR 平均等待时间通常不是最优——取决于时间片大小

核心结论

必背
  1. RR 最适合分时系统,保证每个进程公平获得 CPU
  2. 时间片是关键:太大→FCFS,太小→频繁切换
  3. RR 不导致饥饿,每个进程最终都能获得 CPU
  4. 响应时间好,但平均等待时间可能比 SJF 长
  5. 现代 OS 常结合优先级(多级反馈队列)

记忆卡片

RR 核心思想?
每进程获一个时间片,用完后回到就绪队列尾部。
时间片过大/过小?
过大→退化 FCFS;过小→频繁切换、开销大。
抢占式还是非抢占?
抢占式——时间片用完被强制让出 CPU。
RR 适合什么系统?
分时系统(交互式),保证公平与响应。
片内完成怎么办?
直接释放 CPU,不放回队列(不产生额外切换)。

交互动画 · 时间片轮转(就绪队列旋转)

就绪队列(FCFS 顺序,队首→队尾) CPU 运行
点击「分配一个时间片」观察队首进程运行、用完回到队尾;切换 q 看大小的影响
时间片用完→放回队尾;进程片内完成则不放回队列

相关知识点

scheduling-algorithm-comparison fcfs-scheduling

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。