| 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 |