What is non-preemptive multitasking?
Non-preemptive multitasking is a traditional multitasking technique in which an operating system (OS) assigns an entire central processing unit (CPU) to a single process until the process is complete. The program releases the CPU itself or until a planned time has passed. It was introduced in Windows 3.1 and similar Mac OS versions of that era.
In the case of non-preemptive multitasking, the CPU control remains largely with one program for a long time. Non-preemptive multitasking works well with applications and programs that require intensive and continuous CPU resources.
However, when a program holds the CPU for such long periods of time, it affects other programs that have to wait for the current program to exit or voluntarily release the CPU.
Non-preemptive multitasking also includes some elements of cooperative multitasking, where one or more programs work together to some extent in sharing CPU usage and working together.