• ↑↓ pour naviguer
  • pour ouvrir
  • pour sélectionner
  • ⌘ ⌥ ↵ pour ouvrir dans un panneau
  • ←→ pour naviguer
  • esc pour rejeter
⌘ '
raccourcis clavier

The Problem

SCAN goes all the way to the disk end even if there are no requests there, wasting time. Can we optimize this?

Core Idea

LOOK is a variant of SCAN that only goes as far as the last request in each direction, then reverses — doesn’t go to disk end unnecessarily.

How It Works

  1. Move disk arm in current direction
  2. Service requests along the way
  3. When past the last request in that direction, reverse
  4. Don’t go to physical disk end (unlike SCAN)
look Req1 Last Req (track 80) Req2 Requests in between Req1->Req2 reverse here (don't go to end) Req2->Req1 service → Req3 Start (track 20) Req3->Req2 service →

Key Properties

  • More efficient than SCAN (no unnecessary travel to disk end)
  • Still no starvation (like SCAN)
  • Only goes as far as the furthest request
  • C-LOOK is the C-SCAN version of LOOK

Connections

Edge Cases & Gotchas

  • Must track the furthest request in each direction
  • Slightly more complex than SCAN
  • Default in many modern OSs