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 multitasking
.
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 multitasking
.
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).