Difference Between Preemptive and Non Preemptive Scheduling in Tabular Form
The basic difference between preemptive and non-preemptive scheduling is that Preemptive scheduling can be preempted that is process 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 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 running state to the ready state and waiting 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 running state to the waiting state and termination of process.
- It is simple to implement.
- It requires some hardware platform. This method is attractive because of its simplicity. Windows 3.1 and the Apple Macintosh operating system uses this scheduling method.
- Difference Between Monolithic Kernel and Microkernel
- Difference Between Hard and Soft Real-Time System