Preemptive multitasking



         


Pre-emptive multitasking is a form of multitasking in which processes are not allowed to take an indefinitely long time to complete execution in the CPU. Each process, in turn, is granted a portion of CPU time (usually called a time slice, on the order of milliseconds). A process which does not relinquish the CPU voluntarily within its time slice is forcibly context-switched with the next process in scheduling queue.

Context-switching can usually happen for many different reasons. Some common reasons are:

Some OSes permit processes to deny pre-emption for a period of time. e.g. AmigaOS would permit a process to refuse to context-switch in order to read system data structures that might be altered by other processes.

Some OSes always forbid lower priority processes to pre-empt higher priority processes. Some OSes allow it occasionally. See scheduling.

This article is a stub. You can help BambooWeb by .






  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License