| Type |
Can be preemptive or non-preemptive depending on the implementation |
Preemptive |
| Basis for Execution |
Executes processes based on their assigned priority |
Executes processes in a circular manner, providing each a fixed time quantum |
| Starvation Risk |
This may lead to starvation or indefinite blocking |
Does not lead to starvation; all processes get a chance to execute |
| Context Switching |
Depends on whether it is preemptive or non-preemptive |
Occurs at each time quantum or when a process is preempted |
| Waiting Times |
This may result in longer waiting times for low-priority processes |
Ensures fairness; waiting times are generally shorter for all processes |
| Advantages |
Provides flexibility in defining process priorities |
Prevents starvation; all processes get a fair share of CPU time |
| Disadvantages |
Risk of starvation; priority inversion issues |
The overhead depends on the time quantum; a larger quantum may lead to waiting times |