Ch. 21 · Operating Systems

Starvation, Fairness and Scheduling Policy

Starvation, Fairness and Scheduling Policy. Learn the reasoning, a practical example, common mistakes and an interview exercise.

~2 min readintermediateupdated Oct 3, 2026

Starvation occurs when eligible work repeatedly loses access to resources. Fairness policies can improve progress while trading overhead or throughput.

Before you start

You should understand processes, threads, memory and basic file operations. Track ownership and state changes over time. For concurrent scenarios, write down at least two possible execution orders; the same instructions can behave differently when scheduling or resource availability changes.

The practical goal is to reason through this situation: A continuously favored high-priority workload delays lower-priority maintenance indefinitely. Read the walkthrough first, then try the interview exercise before opening its answer. The important part is explaining the decision and its consequences, rather than remembering a definition alone.

Step-by-step walkthrough

Step 1: Identify eligible waiting work

A task can remain runnable yet repeatedly lose access.

Step 2: Distinguish deadlock

Other tasks still progress while the starved task does not.

Step 3: Choose a progress policy

Aging, fair queues or reserved capacity trade throughput for bounded waiting.

Worked scenario

A continuously favored high-priority workload delays lower-priority maintenance indefinitely.

Continuous high-priority traffic keeps arriving ahead of maintenance work. The system completes requests, so it is not deadlocked, but maintenance never runs. An aging or reservation policy can guarantee eventual progress; evaluate its effect on urgent response times rather than assuming fairness is free.

Common mistake

Deadlock and starvation have different causes even when both look like no progress.

Verify the behavior

Measure maximum waiting and progress for every workload class.

Interview exercise

Evaluate a fairness policy.

Answer and reasoning

Measure maximum wait and progress by workload class, then consider aging, fair queues or resource reservations.

Continue learning

Compare the scenario with the Operating Systems interview questions and test your understanding with the Operating Systems MCQs. For terminology and implementation details, consult the reference material.

More in Operating Systems

read ✓Operating Systems · hard

Operating Systems: CPU Cache Locality

Improve performance with spatial and temporal locality, avoid pointer chasing, and understand false sharing between threads.

~2 min readread →
read ✓Operating Systems · hard

Copy-on-Write Memory and fork

How copy-on-write lets fork share pages until a write, why RSS can be misleading, and the implications for memory and latency.

~2 min readread →
read ✓Operating Systems · hard

Operating Systems: epoll and select

How select, poll and epoll report I/O readiness, and the difference between level- and edge-triggered notifications.

~2 min readread →
esc