SSTF can starve requests at the edges of the disk. We need a fair algorithm that still performs well.
SCAN (Elevator Algorithm) moves the disk arm in one direction, servicing requests along the way, then reverses direction at the end and repeats.
- Disk arm starts moving in one direction (e.g., outward)
- Service all requests in the current direction
- When reaching the end, reverse direction
- Service requests in the new direction
- Continue like an elevator
- No starvation (all requests eventually serviced)
- More uniform wait times than SSTF
- Can waste time going to disk end (even if no requests there)
- Like an elevator serving floors
- Built from: Disk Scheduling, SSTF
- Builds into: C-SCAN, LOOK
- Related: Disk Structure
- Contrasts with: SSTF (no starvation vs possible starvation)
- High response time for requests at the edges (must wait for full sweep)
- May go to disk end unnecessarily (solved by LOOK)
- Better for heavy load than SSTF