The multi-level feedback queue

The multi-level feedback queue

MLFQ learns what a job is like by watching it run, then schedules it accordingly, following the Scheduling: The Multi-Level Feedback Queue chapter of OSTEP (Chapter 8). Each column below is 10 ms. Step through a run and watch jobs move between the ready queues.

Ready queues

lower priority, longer time slice ↓

Jobs

jobqueueCPU leftstate

 

Top: which queue is running, and which job. Bottom: one row per job — solid while it runs, grey while it waits in a queue, hatched while it is blocked on I/O.

Keys: → next, ← back, space play or pause, 1–5 switch scenario.

What to take away

    The rules of MLFQ