CSCAN 磁盘调度

CSCAN 是 SCAN 的改进版本,到边界后快速返回起点,提供更均匀的等待时间。

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

[!info] related notes

CSCAN 磁盘调度

一句话定义

CSCAN(Circular SCAN,循环扫描)是 SCAN 的改进版本,磁头只沿一个方向扫描,到达边界后快速返回起点(不服务回程请求),然后重新开始扫描。

核心机制

  • 单向服务:只在一个方向上服务请求
  • 快速回程:到达边界后直接跳回起点,不服务
  • 更公平:提供更均匀的等待时间
  • 消除了 SCAN 中两端请求的不公平性

与 SCAN 的区别

  • SCAN:到达边界后反向服务回程
  • CSCAN:到达边界后快速跳回起点,不服务回程

例题

题目

  • 磁头初始位置:53
  • 请求序列:98, 183, 37, 122, 14, 124, 65, 67
  • 磁道范围:0-199
  • 初始方向:向磁道号增大方向(向右)
  • 假设边界为 199

服务顺序推导

  1. 从 53 向右移动,服务途经请求:65, 67, 98, 122, 124, 183
  2. 到达边界 199
  3. 快速跳回起点 0(不服务)
  4. 从 0 继续向右扫描,服务剩余请求:14, 37

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

计算过程

步骤当前位置目标位置移动距离
15365
26567
36798
498122
5122124
6124183
7183199
81990
9014
101437

总寻道距离 = 12 + 2 + 31 + 24 + 2 + 59 + 16 + 199 + 14 + 23 = 382

平均寻道距离 = 382 / 8 = 47.75

边界与易混淆点

  • CSCAN 回程距离计入总寻道距离(跳回起点的 199 步)
  • CSCAN 比 SCAN 更公平,但总寻道距离可能更大
  • 与 CLOOK 对比:CLOOK 只到最远请求,不走边界
  • CSCAN 适合负载较重的系统
创建于 2026/3/21 更新于 2026/4/1