The Co-operative multitasking reference article from the English Wikipedia on 24-Jul-2004
(provided by Fixed Reference: snapshots of Wikipedia from wikipedia.org)

Co-operative multitasking

For thoughtful child sponsors
In computing, co-operative multitasking (or non-preemptive multitasking) is a form of multitasking in which multiple tasks execute by voluntarily ceding control to other tasks at programmer-defined points within each task. Operating systems such as Microsoft Windows prior to Windows 95, and MacOS prior to OS X relied on this approach to execute multiple programs simultaneously.
While its usage in modern computing is on the wane, RISC OS is an example of an operating system which still retains this method.

Co-operating multitasking takes special precautions when programs are event or message-driven, for example GUI applications, and hence can be upcalled from the operating system or from the GUI library. Although any invocation of the operating system could be a preemption point, this would immediately require that applications explicitly define critical sections, in order to avoid getting reentered arbitrarily and confused. Therefore, only very specific operating system calls can cause preemption, typically calls which allow to get the next message from the application's input queue.

See also