Difference Between Preemptive and Non-Preemptive Scheduling in OS

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:

  1. Preemptive Scheduling
  2. Non-Preemptive Scheduling

Comparison Chart

Preemptive schedulingNon-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.

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

Related Differences:

  1. Difference Between Monolithic Kernel and Microkernel
  2. Difference Between Hard and Soft Real-Time System


Please enter your comment!
Please enter your name here