1. Preemptive Kernel :
Preemptive Kernel, as name suggests, is a type of kernel that always executes the highest priority task that are ready to run. It cannot use-non-reentrant functions unless and until functions are mutual exclusive.
Example : Linux 2-6
2. Non-Preemptive Kernel :
Non-Preemptive Kernel, as name suggests, is a type of kernel that is free from race conditions on kernel data structures as only one process is active in kernel at a time. It is considered as a serious drawback for real time applications as it does not allow preemption of process running in kernel mode.
Example : Linux 2.4
Difference between Preemptive and Non-Preemptive Kernel in OS :
|It is a process that might be replaced immediately.||It is a process that continuous to run until it finishes handling execution handler or voluntarily relinquishes CPU.|
|It is more suitable for real time programming as compared to non-preemptive kernels.||It is less suitable for real-time programming as compared to preemptive kernel.|
|In this, higher priority task that are ready to run is given CPU control.||In this, each and every task are explicitly given up CPU control.|
|It generally allows preemption even in kernel mode.||It generally does not allow preemption of process running in kernel mode.|
|Responsive time is deterministic and is more responsive as compared to non-preemptive kernel.||Response time is nondeterministic and is less responsive as compared to preemptive kernel.|
|Higher priority task becomes ready, currently running task is suspended and moved to ready queue.||Higher priority task might have to wait for long time.|
|It does not require semaphores.||Shared data generally requires semaphores.|
|It cannot use non-reentrant code.||It can use non-reentrant code.|
|It is more difficult to design preemptive kernels as compared to non-preemptive kernel.||It is less difficult to design non-preemptive kernels as compared to preemptive kernels.|
|They are more secure and more useful in real-world scenarios.||They are less secure and less useful in real-world scenarios.|
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.