Network Operating System Features – Multitasking
The network operating system must provide multitasking support for multiple users accessing the server remotely over the network. This is because only one user uses the desktop computer at a time; However, many users use server computers at the same time.
Multitasking, which is the ability of the operating system to execute more than one program – called a task or process – simultaneously. Multitasking operating systems are like the guy who used to spin balanced boards on sticks on the old Ed Sullivan Show. He ran from plate to plate, trying to keep them all spinning so they wouldn’t fall off the sticks.
Although multitasking creates the appearance that multiple programs on a computer are doing simultaneously, in reality, a computer with a single processor is executing only one program at a time. The operating system shifts the CPU from one program to another to give the appearance that many programs are executing simultaneously, but at any given moment only one program is executing. Others are patiently waiting for their turn.
However, if a computer has more than one CPU, the CPUs can execute programs simultaneously, which is called multiprocessing.
To see multitasking running on a Windows PC, press Ctrl + Alt + Delete to bring up the Windows Task Manager and then click on the Processes tab. All currently active tasks appear on the computer.
For multitasking to work reliably, the network operating system must completely isolate the executing programs from each other. Otherwise, one program may perform an operation that negatively affects another program. Multitasking operating systems do this by providing each task with its own unique address space that makes it nearly impossible for one task to affect memory belonging to another.
In most cases, each program is executed as a single task or process within the memory address space allocated to the task. However, one program can also be divided into several tasks. This technique is usually called multithreading, and program tasks are called threads.
Two preventive and non-preventive multitasking approaches. In preemptive multitasking, the operating system decides how long each task takes to execute before you step aside so that another task can be executed. When it’s time for a task, the OS task manager interrupts the task and moves on to the next task in the line. All network operating systems in widespread use today use preemptive multitasking.
The alternative to preemptive multitasking is non-proactive multitasking. In non-proactive multitasking, each task that controls the CPU is allowed to run until it voluntarily relinquishes control so that another task can run.
Non-proactive multitasking requires less workload on the operating system because the operating system does not have to keep track of how long each task takes. However, programs must be written carefully so as not to take over the entire computer.