What is the difference between a "Non-preemptive", "Preemptive" and "Selective Preemptive" Kernel?
Hope someone can shed some light into this.
|
|
On a preemptive kernel, a process running in kernel mode can be replaced by another process while in the middle of a kernel function. This only applies to processes running in kernel mode, a CPU executing processes in user mode is considered "idle". If a user mode process wants to request a service from the kernel, he has to issue an exception which the kernel can handle. As an example: Process On a nonpreemptive kernel, process Today's Linux based operating systems generally do not include a fully preemptive kernel, there are still critical functions which have to run without interruption. So I think you could call this a "selective preemptive kernel". Apart from that, there are approaches to make the Linux kernel (nearly) fully preemptive. |
||||
|
ReQuoted and formatted from: http://www.linuxquestions.org/questions/linux-general-1/pre-emptive-vs-non-pre-emptive-kernel-582437/ |
|||||
|
|