| 1. CPU Allocation |
A running process can be interrupted and moved to ready state by the scheduler. |
A running process retains the CPU until it blocks or terminates. |
| 2. Context‐Switch Timing |
Context switches may occur any time (e.g., on clock ticks, new arrivals). |
Context switches occur only at process completion or I/O wait. |
| 3. Responsiveness |
High—good for interactive and real-time systems, since short jobs get quick CPU. |
Lower—long jobs may delay short ones until they finish or block. |
| 4. Overhead |
Higher—more frequent context switches increase scheduling overhead. |
Lower—fewer context switches reduce overhead. |
| 5. Starvation Risk |
Possible—low-priority processes may be repeatedly preempted (can use aging). |
Less—once a process starts, it runs to completion, so no indefinite postponement. |
| 6. Examples |
Round-Robin, Preemptive SJF, Priority (preemptive), Multilevel Feedback Queue. |
FCFS, Non-preemptive SJF, Priority (non-preemptive). |