Cooperative multitasking

Modern desktop operating systems are capable of handling large numbers of different processes at the same time. This screenshot shows Linux Mint running simultaneously Xfce desktop environment, Firefox, a calculator program, the built-in calendar, Vim, GIMP, and VLC media player.

Style of computer multitasking in which the operating system never initiates a context switch from a running process to another process.

- Cooperative multitasking
Modern desktop operating systems are capable of handling large numbers of different processes at the same time. This screenshot shows Linux Mint running simultaneously Xfce desktop environment, Firefox, a calculator program, the built-in calendar, Vim, GIMP, and VLC media player.

67 related topics

Relevance

Windows 95 desktop, showing its icons, taskbar and welcome screen

Windows 95

Consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems.

Consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems.

Windows 95 desktop, showing its icons, taskbar and welcome screen
Windows 95 desktop, showing its icons, taskbar and welcome screen
Architectural diagram
command.com running in a Windows console on Windows 95 (MS-DOS Prompt)

There were also major changes made to the core components of the operating system, such as moving from a mainly cooperatively multitasked 16-bit architecture to a 32-bit preemptive multitasking architecture, at least when running only 32-bit protected mode applications.

A networking card with a sticker indicating certification with NetWare

NetWare

A networking card with a sticker indicating certification with NetWare
Packages of NetWare 2.0
A book on NetWare published in Thai
NetWare 4 and NDS were the subjects of many technical sessions at the Novell BrainShare conference, here seen during a break in 1995
The success of NetWare as a product is what allowed Novell to have sales-related offices around the world, as the back side of this mid-1990s Novell presentation folder shows

NetWare is a discontinued computer network operating system developed by Novell, Inc. It initially used cooperative multitasking to run various services on a personal computer, using the IPX network protocol.

A sample thread pool (green boxes) with a queue (FIFO) of waiting tasks (blue) and a queue of completed tasks (yellow)

Scheduling (computing)

Action of assigning resources to perform tasks.

Action of assigning resources to perform tasks.

A sample thread pool (green boxes) with a queue (FIFO) of waiting tasks (blue) and a queue of completed tasks (yellow)
A highly simplified structure of the Linux kernel, which includes process schedulers, I/O schedulers, and packet schedulers

It usually has the ability to pause a running process, move it to the back of the running queue and start a new process; such a scheduler is known as a preemptive scheduler, otherwise it is a cooperative scheduler.

Screenshot of Mac OS 9

Classic Mac OS

Series of operating systems developed for the Macintosh family of personal computers by Apple Inc. from 1984 to 2001, starting with System 1 and ending with Mac OS 9.

Series of operating systems developed for the Macintosh family of personal computers by Apple Inc. from 1984 to 2001, starting with System 1 and ending with Mac OS 9.

Screenshot of Mac OS 9
Screenshot of Mac OS 9
Original 1984 Macintosh desktop
Mac OS 8.1 desktop
The logos of Mac OS X/OS X/macOS, from Cheetah 10.0 through to Big Sur 11

With the introduction of System 5, a cooperative multitasking extension called MultiFinder was added, which allowed content in windows of each program to remain in a layered view over the desktop, and was later integrated into System 7 as part of the operating system along with support for virtual memory.

Computer simulation, one of the main cross-computing methodologies.

Preemption (computing)

Act of temporarily interrupting an executing task, with the intention of resuming it at a later time.

Act of temporarily interrupting an executing task, with the intention of resuming it at a later time.

Computer simulation, one of the main cross-computing methodologies.

The term preemptive multitasking is used to distinguish a multitasking operating system, which permits preemption of tasks, from a cooperative multitasking system wherein processes or tasks must be explicitly programmed to yield when they do not need system resources.

Modern desktop operating systems are capable of handling large numbers of different processes at the same time. This screenshot shows Linux Mint running simultaneously Xfce desktop environment, Firefox, a calculator program, the built-in calendar, Vim, GIMP, and VLC media player.

Computer multitasking

Concurrent execution of multiple tasks over a certain period of time.

Concurrent execution of multiple tasks over a certain period of time.

Modern desktop operating systems are capable of handling large numbers of different processes at the same time. This screenshot shows Linux Mint running simultaneously Xfce desktop environment, Firefox, a calculator program, the built-in calendar, Vim, GIMP, and VLC media player.
Multitasking of Microsoft Windows 1.01 released in 1985, here shown running the MS-DOS Executive and Calculator programs

This "context switch" may be initiated at fixed time intervals (pre-emptive multitasking), or the running program may be coded to signal to the supervisory software when it can be interrupted (cooperative multitasking).

A screenshot of RISC OS 4

RISC OS

Computer operating system originally designed by Acorn Computers Ltd in Cambridge, England.

Computer operating system originally designed by Acorn Computers Ltd in Cambridge, England.

A screenshot of RISC OS 4
A screenshot of RISC OS 4

The OS is single-user and employs cooperative multitasking (CMT).

Microsoft Windows

Group of several proprietary graphical operating system families developed and marketed by Microsoft.

Group of several proprietary graphical operating system families developed and marketed by Microsoft.

Windows 1.0, the first version, released in 1985
Windows 3.0, released in 1990
Previous Windows logo (2012–2021)

Unlike MS-DOS, Windows allowed users to execute multiple graphical applications at the same time, through cooperative multitasking.

Computer simulation, one of the main cross-computing methodologies.

Hang (computing)

In computing, a hang or freeze occurs when either a process or system ceases to respond to inputs.

In computing, a hang or freeze occurs when either a process or system ceases to respond to inputs.

Computer simulation, one of the main cross-computing methodologies.

In a cooperative multitasking system, any thread that gets stuck without yielding will hang the system, as it will wedge itself as the running thread and prevent other threads from running.

An embedded system on a plug-in card with processor, memory, power supply, and external interfaces

Embedded system

Computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system.

Computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system.

An embedded system on a plug-in card with processor, memory, power supply, and external interfaces
Embedded Computer Sub-Assembly for Accupoll Electronic Voting Machine
e-con Systems eSOM270 & eSOM300 Computer on Modules
Embedded system text user interface using MicroVGA
A close-up of the SMSC LAN91C110 (SMSC 91x) chip, an embedded Ethernet chip

A non-preemptive multitasking system is very similar to the simple control loop scheme, except that the loop is hidden in an API.