|This article does not cite any references or sources. (December 2009)|
Nonpreemptive multitasking is a style of computer multitasking in which the operating system never initiates a context switch from a running process to another process. Such systems are either statically scheduled, most often periodic systems, or exhibit some form of cooperative multitasking, in which case the computational tasks can self-interrupt and voluntarily give control to other tasks. When non preemptive is used, a process that receives such resources can not be interrupted until it is finished.
Cooperative multitasking is a type of multitasking in which the process currently controlling the CPU must offer control to other processes. It is called “cooperative” because all programs must cooperate for it to work. In contrast, preemptive multitasking interrupts applications and gives control to other processes outside of an application's control.