定义
磁盘调度算法(Disk Scheduling Algorithm)用于决定磁盘 I/O 请求的处理顺序,以减少磁头移动距离和总存取时间。
磁盘存取时间组成
- 寻找时间:磁头移动到目标磁道的时间
- 旋转延迟:目标扇区转到磁头下的时间
- 传输时间:数据读写时间
常见算法
- FCFS(先来先服务):按请求顺序处理。公平但效率低。
- SSTF(最短寻找时间优先):优先处理距离当前磁头最近的请求。效率高但可能产生饥饿。
- SCAN(电梯算法):磁头单向移动,处理途中的所有请求,到端点后反向。较均衡。
- C-SCAN(循环扫描):磁头单向移动,到端点后快速回到起点继续同向扫描。更公平。
- C-LOOK:C-SCAN 的改进,只需移动到最远请求位置即返回。
对比
| 算法 | 平均寻道时间 | 饥饿 | 公平性 |
|---|---|---|---|
| FCFS | 大 | 无 | 好 |
| SSTF | 小 | 有 | 差 |
| SCAN | 中 | 无 | 好 |
| C-SCAN | 中 | 无 | 最好 |