Which CPU scheduling algorithm can cause starvation of low-priority processes?
2026
Which CPU scheduling algorithm can cause starvation of low-priority processes?
Answer: C. Priority Scheduling — Concept — starvation (indefinite blocking). A ready process is starved when the scheduling rule lets it be overtaken without any limit, so it may never reach…
- A.
First Come First Serve (FCFS)
- B.
Round Robin
- C.
Priority Scheduling
- D.
Shortest Job First (SJF)
Attempted by 495 students.
Show answer & explanation
Correct answer: C
Concept — starvation (indefinite blocking). A ready process is starved when the scheduling rule lets it be overtaken without any limit, so it may never reach the CPU. Whether a rule permits this turns on one test: is the set of processes that may be dispatched ahead of a waiting process closed at the moment that process joins the ready queue, or can later arrivals keep entering that set forever? A closed set means the wait is bounded; an open-ended set means starvation is possible.
Application. Priority Scheduling always dispatches the ready process holding the best priority value. A process carrying a low assigned priority is passed over by every higher-priority process that becomes ready, and fresh higher-priority processes may keep arriving, so the set ahead of it never closes and its waiting time has no upper bound. That is precisely starvation of low-priority processes, so the answer is Priority Scheduling.
Cross-check — apply the same test to all four dispatch rules.
Algorithm | Dispatch rule | Can later arrivals keep overtaking a waiting process? |
|---|---|---|
First Come First Serve | Earliest arrival time | No — the queue ahead of a process is fixed the moment it arrives, so its wait is bounded. |
Round Robin | Cyclic order, fixed quantum q | No — with n ready processes a process waits at most (n − 1)q before its next turn. |
Priority Scheduling | Best assigned priority value | Yes — every later higher-priority arrival jumps ahead, with no upper bound on the wait. |
Shortest Job First | Smallest predicted next CPU burst | Yes — every later shorter job jumps ahead, so a long job can be postponed. |
Why not Shortest Job First? SJF does starve processes, but its victims are long CPU bursts, not low-priority ones — SJF attaches no priority attribute to a process at all. Standard texts do note that SJF can be modelled as priority scheduling with priority equal to the inverse of the predicted burst, which is why the two feel close; this stem, however, is anchored to an explicitly assigned low priority, and Priority Scheduling is itself offered, so the directly named mechanism is the intended answer.
Standard remedy. Aging — steadily improving the priority of a process the longer it has waited — puts an upper bound on the wait and removes starvation from a priority scheduler.