Skip to content

调度算法对比模拟器

学了这么多调度算法,各自的优劣光看文字不够直观。这一篇把所有算法放在一起,用同一组数据跑一遍,直接看差异。

调度算法全景对比

算法抢占饥饿优点缺点适用场景
FCFS非抢占不会简单公平护航效应批处理
SJF非抢占平均等待最优无法预知服务时间短作业为主
SRTF抢占平均周转最优频繁抢占
RR抢占不会响应快、公平切换开销分时/交互
优先级两者皆可会(静态)灵活优先级反转通用
HRRN非抢占不会兼顾长短作业计算开销批处理
MLQ两者皆可可能分类管理不够灵活
MLFQ抢占通常不会综合最优实现复杂通用

关键结论速查

  • 平均等待时间最短:SJF(非抢占式中)
  • 不会饥饿的算法:FCFS、RR、HRRN
  • 可能饥饿的算法:SJF、SRTF、优先级调度(静态)
  • 适合交互系统:RR、MLFQ
  • 需要预知服务时间:SJF、SRTF、HRRN
  • 不需要预知服务时间:FCFS、RR、优先级调度、MLFQ

交互模拟器

在下方模拟器中,输入一组进程数据,同时运行多种调度算法并对比结果:

加载可视化中...

考研高频考点

  • 🔥🔥🔥 各算法是否可能导致饥饿
  • 🔥🔥🔥 各算法是抢占式还是非抢占式
  • 🔥🔥 给定同一组进程数据,不同算法的调度结果对比
  • 🔥 各算法的适用场景

前面的调度讨论都假设单个 CPU。当系统有多个处理器时,调度会出现新的问题。下一篇看多处理机调度。