Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
Pre-emption refers to the temporary interruption and suspension of a task, without asking for its cooperation, with the intention to resume that task later. This act is called a context switch and is typically performed by the pre-emptive scheduler, a component in the operating system authorized to pre-empt, or interrupt, and later resume tasks running in the system.
Pre-emption is a form of multitasking in which the scheduler interrupts and suspends a currently running task in order to resume a previously suspended task. This activity takes place on just about every operating system available. Non-pre-emptive (cooperative) multitasking was the method used by early 16-bit versions of MS windows. All the 32-bit versions use pre-emptive multitasking.Pre-emption involves the use of an interrupt mechanism, which suspends the currently executing thread and then invokes the scheduler to determine which thread should be executed next, allowing all threads to receive some amount of processor time.
The time alloted for a thread to run in a preemptive multitasking system is called the time slice or quantum time. The scheduler allots a time slice to every thread it executes. Once the time slice of the thread expires, the scheduler suspends it and then switches to another thread.
Some systems have preemptive kernels that permit tasks to be preempted even in kernel mode. Examples of such systems are Solaris 2, Windows NT, Linux, Advanced Interactive eXecutive and Berkeley Software Distribution.