磁盘调度计算器(FCFS、SSTF、SCAN、C-SCAN、LOOK)
计算 FCFS、SSTF、SCAN、C-SCAN、LOOK 和 C-LOOK 磁头调度:寻道顺序、每次移动、磁头总移动量、平均寻道距离以及磁头位置图。
SCAN 和 C-SCAN 只有在另一侧还有请求时,才会走到磁盘边缘(0 或 199)再掉头;LOOK 和 C-LOOK 在最后一个请求处掉头。
SSTF 中距离相同时,先服务磁道号较小的。
| 步骤 | 起点 | 终点 | 距离 | 备注 |
|---|---|---|---|---|
| 0 | 53 | 53 | 0 | 起点 |
| 1 | 53 | 37 | 16 | 服务 |
| 2 | 37 | 14 | 23 | 服务 |
| 3 | 14 | 0 | 14 | 磁盘边缘 |
| 4 | 0 | 65 | 65 | 服务 |
| 5 | 65 | 67 | 2 | 服务 |
| 6 | 67 | 98 | 31 | 服务 |
| 7 | 98 | 122 | 24 | 服务 |
| 8 | 122 | 124 | 2 | 服务 |
| 9 | 124 | 183 | 59 | 服务 |
| 算法 | 总移动量 | 平均寻道距离 |
|---|---|---|
| FCFS | 640 | 80 |
| SSTF | 236 | 29.5 |
| SCAN | 236 | 29.5 |
| C-SCAN | 386 | 48.25 |
| LOOK | 208 | 26 |
| C-LOOK | 326 | 40.75 |
硬盘要响应对不同磁道的请求,访问这些请求的顺序决定了读写磁头要走多远。这个计算器针对你的请求队列和起始位置,运行六种经典的磁盘调度算法——FCFS、SSTF、SCAN(电梯算法)、C-SCAN、LOOK 和 C-LOOK——显示寻道顺序、每一次移动、磁头总移动量和平均寻道距离,还提供磁头位置图以及六种算法的对比。
使用方法
- 输入被请求磁道的队列。
- 输入磁头起始位置和磁道数。
- 选择算法以及磁头移动的方向。
- 对于 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 没有移动的磁头,寻道顺序无关紧要;这些算法针对的是旋转磁盘。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/disk-scheduling-simulator/
引用此工具
kakaoCalc. (2026, November 8). 磁盘调度计算器(FCFS、SSTF、SCAN、C-SCAN、LOOK). https://kakao.mobile/zh/tools/disk-scheduling-simulator/
“磁盘调度计算器(FCFS、SSTF、SCAN、C-SCAN、LOOK).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/disk-scheduling-simulator/.