Quiz Entry - updated: 2026.09.25
How does round-robin scheduling differ from priority-based preemptive scheduling?
Round-robin gives each task a turn in a fixed rotation, each running until preempted at the end of its slice or completion; priority-based scheduling always runs the highest-priority ready task, preempting lower ones the moment it becomes ready.
* Round-robin rotates through equal turns; priority-based scheduling always hands the CPU to the most important ready task. *
Two timelines of Tasks 1 to 4 show the difference:
- Round robin. Task 1 runs, then Task 2, then Task 3, then Task 4, then back to Task 1. A task leaves the CPU either at preemption, when its time slice ends, or at completion. Every task gets a fair share and none waits longer than one full rotation, but an urgent task has to wait its turn.
- Priority-based. Task 4 (lowest priority) is running; Task 3 becomes ready and preempts it, then Task 2 preempts Task 3, then Task 1 (highest) preempts Task 2. As each finishes, the next-highest waiting task resumes, and Task 4 continues only when everything above it is done.
| Round robin | Priority-based preemptive | |
|---|---|---|
| Who runs next | The next task in the rotation | The highest-priority ready task |
| Urgent task waits for | Up to one full rotation | Nothing, it preempts immediately |
| Risk | Poor response for urgent work | Starvation of low-priority tasks |
| Used for | Equal, fair sharing | Real-time deadlines |
RTOSes like FreeRTOS combine them: priority-based preemption between different priorities, round-robin time slicing among tasks of equal priority.
Go deeper:
Wikipedia — Round-robin scheduling — time quanta and how the quantum size trades responsiveness against switching overhead.