next up previous contents
Next: Multi-processing Up: Operating System Concepts Previous: Multi-user

Multi-tasking

 

UNIX is a multi-tasking operating system.

Multi-tasking refers to the ability to (apparently) run more than a single program at a time. What it actually refers to, is the ability to suspend the execution of one program momentarily, so that another program may execute for a brief period of time. If the time slices allocated to each program are small enough, it gives the appearance that more than a single program is executing at any given time.

Actually, if the operating system is able to effect the above behavior on a group of programs, this is more properly called preemptive multitaskinggif. It is possible to write programs such that a program can signal the operating system that it is (temporarily) done, and that it can be switched out of context. This is called cooperative multitaskinggif. But since the switching of priority between different tasks is not under the control of the operating system, and is left to the goodwill of the programmer of the utilities, this is probably not what most people would call multitasking.

One side effect of a ``properly'' multi-tasking OS is that having one program crash shouldn't effect any other program running at the same time.

The above definition is a little shaky if the computer has more than a single central processing unit (CPU).


next up previous contents
Next: Multi-processing Up: Operating System Concepts Previous: Multi-user

Gordon Haverland
Sat Oct 9 13:50:48 MDT 1999