Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The preemption allows the kernel to give the IMPRESSION of parallelism: you've got only one processor (let's say a decade ago), but you feel like all your processes are running simulaneously. That's because the kernel preempts (ie, take the execution out of) the execution from one process to give it to the next one (maybe according to their priority). </p> <p><strong>EDIT</strong> Not preemptive kernels wait for processes <em>to give back the hand</em> (ie, during syscalls), so if your process computes a lot of data and doesn't call any kind of <code>yield</code> function, the other processes won't be able to execute to execute their calls. Such systems are said to be <em>cooperative</em> because they ask for the cooperation of the processes to ensure the equity of the execution time</p> <p><strong>EDIT 2</strong> The main goal of preemption is to improve the reactivity of the system among multiple tasks, so that's good for end-users, whereas on the other-hand, servers want to achieve the highest througput, so they don't need it: (from the Linux kernel configuration)</p> <ul> <li><a href="http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re153.html" rel="noreferrer">Preemptible kernel</a> (low-latency desktop)</li> <li><a href="http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re152.html" rel="noreferrer">Voluntary kernel preemption</a> (desktop)</li> <li><a href="http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re151.html" rel="noreferrer">No forced preemption</a> (server)</li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload