Difference Between Preemptive and Non-Preemptive Scheduling in OS

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:

  1. Preemptive Scheduling
  2. Non-Preemptive Scheduling

Comparison Between Preemptive and Non-Preemptive Scheduling

Comparison Chart

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.

Preemptive scheduling

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

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

More Differences