Cooperative multitasking

Cooperative multitasking, also known as non-preemptive multitasking, is a style of computer multitasking 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.

In this scheme, the process scheduler of an operating system is known as a cooperative scheduler whose role is limited to starting the processes and letting them return control back to it voluntarily.[1][2]

This is related to the asynchronous programming approach.

  1. ^ "Definition of non-preemptive multitasking". pcmag.com. Retrieved August 15, 2015.
  2. ^ Joe Bartel (November 5, 2011). "Non-Preemptive Multitasking" (PDF). classiccmp.org. Archived from the original (PDF) on August 19, 2019. Retrieved August 15, 2015.