Cooperative multitasking
From the Wiki, the cited reference
Cooperative multitasking, also known as non-preemptive multitasking, is a computer multitasking technique in which the operating system never initiates a context switch from a running process to another process.
Cooperative multitasking, also known as non-preemptive multitasking, is a computer multitasking technique in which the operating system never initiates a context switch from a running process to another process. Instead, in order to run multiple applications concurrently, processes voluntarily yield control periodically or when idle or logically blocked. This type of multitasking is called cooperative because all programs must cooperate for the scheduling scheme to work.[1]
Usage
Although it is rarely used as the primary scheduling mechanism in modern operating systems, it is widely used in memory-constrained embedded systems and in specific applications such as CICS or the JES2 subsystem. Cooperative multitasking was the primary scheduling scheme for 16-bit applications employed by Microsoft Windows before Windows 95 and Windows NT, and by the classic Mac OS. Windows 9x used non-preemptive multitasking for 16-bit legacy applications, and the PowerPC Versions of Mac OS X prior to Leopard used it for classic applications.[1]
Problems
As a cooperatively multitasked system relies on each process regularly giving up time to other processes on the system, one poorly designed program can consume all of the CPU time for itself, either by performing extensive calculations or by busy waiting; both would cause the whole system to hang. In a server environment, this is a hazard that is often considered to make the entire environment unacceptably fragile, though as noted above, cooperative multitasking has been used frequently in server environments, including NetWare and CICS.[1]
See also
References
- ↑ a b c “Cooperative multitasking”. Wikipedia. Text adapted from Wikipedia under CC BY-SA 4.0. Rewrite it in your own words where you can. Encyclopedia Retrieved 2026-11-14
Further reading
- “www.classiccmp.org / cini/pdf/HT68K/HT68K%20TCJ30p37.pdf”. classiccmp.org. Link found on the Wikipedia page. Open it, check it and fix this title before relying on it. Organization Retrieved 2026-11-14
- “www.riscos.info / index.php/Preemptive_multitasking”. riscos.info. Link found on the Wikipedia page. Open it, check it and fix this title before relying on it. Web page Retrieved 2026-11-14
- “www.pcmag.com / encyclopedia/term/48051/non-preemptive-multitasking”. pcmag.com. Link found on the Wikipedia page. Open it, check it and fix this title before relying on it. Web page Retrieved 2026-11-14
- “kerkour.com / cooperative-vs-preemptive-scheduling”. kerkour.com. Link found on the Wikipedia page. Open it, check it and fix this title before relying on it. Web page Retrieved 2026-11-14
- “tenthousandmeters.com / blog/python-behind-the-scenes-12-how-asyncawait-works-in-python”. tenthousandmeters.com. Link found on the Wikipedia page. Open it, check it and fix this title before relying on it. Web page Retrieved 2026-11-14
Related articles
Explore related pages
Make it happen
Follow Davao Corporate
Davao Corporate · Blogs & Guests, Wiki and more
Our Facebook page and TikTok cover the blog, the Wiki and everything else on the site. Follow to stay in the loop.







