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 |