磁盘调度¶
概述¶
磁盘调度
磁盘调度算法决定I/O请求的服务顺序,目标是减少寻道时间,提高磁盘吞吐量。
磁盘访问时间¶
访问时间组成
访问时间 = 寻道时间 + 旋转延迟 + 传输时间
- 寻道时间: 磁头移动到目标磁道的时间
- 旋转延迟: 目标扇区旋转到磁头下的时间
- 传输时间: 数据传输的时间
调度算法¶
FCFS(先来先服务)¶
FCFS
按请求到达顺序服务。
特点:
- 公平简单
- 寻道距离长
- 效率低
SSTF(最短寻道时间优先)¶
SSTF
选择距当前磁头最近的请求。
特点:
- 寻道距离短
- 可能饥饿
- 效率较高
SCAN(电梯算法)¶
SCAN
磁头单向移动,处理沿途请求,到边界后反向。
特点:
- 避免饥饿
- 性能较好
- 响应时间波动小
C-SCAN(循环扫描)¶
C-SCAN
磁头单向移动,到边界后直接返回起点。
特点:
- 响应时间均匀
- 性能稳定
LOOK和C-LOOK¶
LOOK和C-LOOK
SCAN和C-SCAN的改进,不到边界就反向。
算法比较¶
| 算法 | 公平性 | 效率 | 饥饿 |
|---|---|---|---|
| FCFS | 好 | 低 | 无 |
| SSTF | 差 | 高 | 可能 |
| SCAN | 中 | 高 | 无 |