the multilevel queue
Think of an airport with separate lines for first class, business, and economy — each line has its own rules, and the classes are served by a fixed precedence. The multilevel queue scheduler does this with processes: instead of one ready queue, it keeps several separate queues, each holding a different class of process, and each queue can have its own scheduling algorithm.
How it works: processes are permanently assigned to a queue based on a property fixed at start — for example, system processes in the top queue, interactive processes in a middle queue, and batch processes in the bottom queue. Each queue runs its own policy: the interactive queue might use round-robin for snappy response, while the batch queue uses first-come-first-served. Then a higher-level rule schedules between the queues, commonly by fixed priority: a process in a lower queue runs only when all higher queues are empty (which risks starving the low queues), or alternatively each queue gets a fixed share of CPU time.
Why it matters and its limitation: the multilevel queue cleanly separates classes with genuinely different needs, so foreground interactive work never has to compete in the same line as background batch work. Its big weakness is rigidity — a process is stuck in its assigned queue for life and cannot move even if its behavior changes (an interactive process that turns CPU-heavy, say). That inflexibility is exactly what the multilevel feedback queue was invented to fix by letting processes migrate between queues.
Three queues by fixed priority: system (round-robin), interactive (round-robin), batch (FCFS). The CPU serves the interactive queue only when the system queue is empty, and batch only when both higher queues are empty. A pure CPU-cruncher placed in interactive at launch stays there forever, even if it stops being interactive.
Separate queues per class, each with its own policy — but a process never changes queue.
A multilevel queue is fixed-assignment: a process cannot move between queues. If you see processes being demoted or promoted by behavior, that is the multilevel FEEDBACK queue, a distinct (more flexible) scheme.