FCFS 磁盘调度

FCFS 是最简单的磁盘调度算法,按请求到达顺序服务,无饥饿但寻道效率低。

#type / concept #status / evergreen #resource / operating-system

[!info] related notes

FCFS 磁盘调度

一句话定义

FCFS(First Come First Served,先来先服务)按请求到达的先后顺序依次服务磁盘访问请求,不考虑磁头当前位置与目标磁道的距离。

核心机制

  • 实现简单:维护一个请求队列,按 FIFO 顺序处理
  • 公平性好:不会出现饥饿现象
  • 效率低:可能产生大量不必要的磁头移动(来回摆动)
  • 适用于请求较少或负载较轻的场景

计算公式

总寻道距离 = Σ|当前位置 - 下一请求位置|

例题

题目

  • 磁头初始位置:53
  • 请求序列:98, 183, 37, 122, 14, 124, 65, 67
  • 磁道范围:0-199

服务顺序:53 → 98 → 183 → 37 → 122 → 14 → 124 → 65 → 67

计算过程

步骤当前位置目标位置移动距离
15398
298183
318337
437122
512214
614124
712465
86567

总寻道距离 = 45 + 85 + 146 + 85 + 108 + 110 + 59 + 2 = 640

平均寻道距离 = 640 / 8 = 80

边界与易混淆点

  • FCFS 不是最优算法,但实现最简单
  • 可能出现”磁头摆动”问题:来回移动导致效率低下
  • 与 SSTF 对比:SSTF 可能更高效,但会导致饥饿
  • FCFS 保证公平,但不保证效率
创建于 2026/3/21 更新于 2026/5/27