LOOK 磁盘调度
LOOK 算法是 SCAN 的改进,磁头只走到该方向最远的请求位置就反向,不必到达磁盘边界。
#type / concept
#status / evergreen
#resource / operating-system
[!info] related notes
LOOK 磁盘调度
一句话定义
LOOK 算法是 SCAN 的改进版本,磁头沿一个方向移动,只走到该方向上最远的请求位置就立即反向,不必到达磁盘物理边界。
核心机制
- 不走边界:只到最远请求位置,节省空转距离
- 单向扫描:沿一个方向服务所有请求
- 到最远请求后反向:立即改变方向
- 比 SCAN 更高效
与 SCAN 的区别
- SCAN:必须到达磁盘边界(如 0 或 199)才反向
- LOOK:只到该方向上最远的请求位置就反向
例题
题目:
- 磁头初始位置:53
- 请求序列:98, 183, 37, 122, 14, 124, 65, 67
- 磁道范围:0-199
- 初始方向:向磁道号增大方向(向右)
服务顺序推导:
- 从 53 向右移动,服务途经请求:65, 67, 98, 122, 124, 183
- 到达该方向最远请求 199(实际最远是 183)
- 反向向左移动,服务剩余请求:37, 14
- 到达该方向最远请求 14
服务顺序:53 → 65 → 67 → 98 → 122 → 124 → 183 → 37 → 14
计算过程:
| 步骤 | 当前位置 | 目标位置 | 移动距离 |
|---|---|---|---|
| 1 | 53 | 65 | |
| 2 | 65 | 67 | |
| 3 | 67 | 98 | |
| 4 | 98 | 122 | |
| 5 | 122 | 124 | |
| 6 | 124 | 183 | |
| 7 | 183 | 37 | |
| 8 | 37 | 14 |
总寻道距离 = 12 + 2 + 31 + 24 + 2 + 59 + 146 + 23 = 299
平均寻道距离 = 299 / 8 = 37.375
边界与易混淆点
- LOOK 比 SCAN 更高效,省去了到边界的空转
- 实际应用中 LOOK 比 SCAN 更常用
- 与 CLOOK 对比:CLOOK 只单向服务,回程不服务
- LOOK 双向都服务,更简单但不够均匀