ZH
我的工具

磁盘调度计算器(FCFS、SSTF、SCAN、C-SCAN、LOOK)

计算 FCFS、SSTF、SCAN、C-SCAN、LOOK 和 C-LOOK 磁头调度:寻道顺序、每次移动、磁头总移动量、平均寻道距离以及磁头位置图。

磁道编号从 0 到该值 − 1。
磁头总移动量
236 磁道
SCAN
每个请求的平均寻道距离
29.5 磁道
寻道顺序
53 → 37 → 14 → 0 → 65 → 67 → 98 → 122 → 124 → 183

SCAN 和 C-SCAN 只有在另一侧还有请求时,才会走到磁盘边缘(0 或 199)再掉头;LOOK 和 C-LOOK 在最后一个请求处掉头。

SSTF 中距离相同时,先服务磁道号较小的。

SCAN 的移动
SCAN 的移动: 终点05010015020002468步骤终点
SCAN 的移动
步骤起点终点距离备注
053530起点
1533716服务
2371423服务
314014磁盘边缘
406565服务
565672服务
6679831服务
79812224服务
81221242服务
912418359服务
同一队列下所有算法的对比
算法总移动量平均寻道距离
FCFS64080
SSTF23629.5
SCAN23629.5
C-SCAN38648.25
LOOK20826
C-LOOK32640.75
我的工具 →
广告

硬盘要响应对不同磁道的请求,访问这些请求的顺序决定了读写磁头要走多远。这个计算器针对你的请求队列和起始位置,运行六种经典的磁盘调度算法——FCFS、SSTF、SCAN(电梯算法)、C-SCAN、LOOK 和 C-LOOK——显示寻道顺序、每一次移动、磁头总移动量和平均寻道距离,还提供磁头位置图以及六种算法的对比。

使用方法

  1. 输入被请求磁道的队列。
  2. 输入磁头起始位置和磁道数。
  3. 选择算法以及磁头移动的方向。
  4. 对于 C-SCAN 和 C-LOOK,决定是否计入返回跳转;然后查看合计。

计算公式

磁头总移动量 = Σ |下一个磁道 − 当前磁道| · 平均寻道距离 = 总量 ÷ 请求数

FCFS 按到达顺序服务;SSTF 总是选择最近的待处理请求;SCAN 扫到磁盘边缘再返回;LOOK 在最后一个请求而不是边缘处掉头;C-SCAN 和 C-LOOK 只朝一个方向服务,然后跳回起点。返回跳转是否算作磁头移动,各门课程做法不同,因此可以选择计入或不计入。SSTF 中距离相同时,先服务磁道号较小的。

示例

对于教材中的队列 98, 183, 37, 122, 14, 124, 65, 67,磁头位于 53、共 200 个磁道的磁盘,朝 0 方向移动的 SCAN 走 53 → 37 → 14 → 0,然后上行到 183:共 236 个磁道,平均每个请求 29.5。SSTF 同样是 236,FCFS 是 640,向上移动的 C-SCAN 是 382(不计返回跳转为 183)。

常见问题

为什么这里 SSTF 的总量和 SCAN 一样?

这只是这个队列的巧合。SSTF 是贪心算法,可能让磁盘另一端的请求一直得不到服务;SCAN 则保证每个请求在两次扫描内一定会被处理。

C-SCAN 的返回应该计入吗?

取决于课程。磁头确实在物理上返回,所以这里默认计入;但有些教材把返回当作快速寻道而不计入——请切换选项以符合你的课程。

这适用于 SSD 吗?

不适用。SSD 没有移动的磁头,寻道顺序无关紧要;这些算法针对的是旋转磁盘。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). 磁盘调度计算器(FCFS、SSTF、SCAN、C-SCAN、LOOK). https://kakao.mobile/zh/tools/disk-scheduling-simulator/

MLA

“磁盘调度计算器(FCFS、SSTF、SCAN、C-SCAN、LOOK).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/disk-scheduling-simulator/.

广告