Difference Between Preemptive and Non Preemptive Scheduling in Tabular Form
Comparison Between Preemptive and Non-Preemptive Scheduling
The basic difference between preemptive and non-preemptive scheduling is that Preemptive scheduling can be preempted that is a process that can be scheduled. In non-preemptive scheduling process cannot be scheduled. The Scheduling algorithms can be divided into two categories:
- Preemptive Scheduling
- Non-Preemptive Scheduling
|Preemptive scheduling||Non-Preemptive Scheduling|
|Preemptive scheduling allows a process to be interrupted in the midst of its execution, taking the CPU away and allocating it to another process.||Non-preemptive scheduling ensures that a process relinquishes control of the CPU only when it finishes with its current CPU burst.|
|Preemptive scheduling incurs a cost associated with access shared data.||Non-preemptive scheduling does not increase the cost.|
|It also affects the design of the operating Kernel.||It does not affect the design of the OS system Kernel.|
|Preemptive scheduling is more complex.||Simple, but very inefficient.|
|Example: Round robin method.||Example: First come first serve method.|
- A scheduling method that interrupts the processing of a and transfers the CPU to another process is called a preemptive CPU scheduling.
- The process switches from the running state to the ready state and waiting for the state to the ready state.
- Preemptive scheduling increases the cost and it has higher overheads. This scheduling method is useful only in the high priority Processes require rapid response.
- Non-preemptive operation usually proceeds towards completion uninterrupted.
- Once the system has assigned a processor to a process the system cannot remove that processor from the process.
- The process switches from the running state to the waiting state and termination of a process.
- It is simple to implement.
- It requires some hardware platforms. This method is attractive because of its simplicity. Windows 3.1 and the Apple Macintosh operating system use this scheduling method.