BrainPreview
Open in TheBrain

1.1 Single- and multi-tasking

<p>A single-tasking system can only run one program at a time, while a <a class="mw-redirect" title="Multi-tasking" href="https://en.wikipedia.org/wiki/Multi-tasking">multi-tasking</a> operating system allows more than one program to be running in concurrency. This is achieved by <a title="Time-sharing" href="https://en.wikipedia.org/wiki/Time-sharing">time-sharing</a>, where the available processor time is divided between multiple processes. These processes are each interrupted repeatedly in <a class="mw-redirect" title="Time slice" href="https://en.wikipedia.org/wiki/Time_slice">time slices</a> by a task-scheduling subsystem of the operating system. Multi-tasking may be characterized in preemptive and co-operative types. In preemptive multitasking, the operating system slices the <a title="Central processing unit" href="https://en.wikipedia.org/wiki/Central_processing_unit">CPU</a> time and dedicates a slot to each of the programs. Unix-like operating systems, such as <a title="Solaris (operating system)" href="https://en.wikipedia.org/wiki/Solaris_(operating_system)">Solaris</a> and <a title="Linux" href="https://en.wikipedia.org/wiki/Linux">Linux</a>&mdash;as well as non-Unix-like, such as <a title="AmigaOS" href="https://en.wikipedia.org/wiki/AmigaOS">AmigaOS</a>&mdash;support preemptive multitasking. Cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. <a title="16-bit" href="https://en.wikipedia.org/wiki/16-bit">16-bit</a> versions of Microsoft Windows used cooperative multi-tasking. <a title="32-bit" href="https://en.wikipedia.org/wiki/32-bit">32-bit</a> versions of both Windows NT and Win9x, used preemptive multi-tasking.</p>