Page 31 - DCAP403_Operating System
P. 31
Operating System
Notes Figure 2.5: Parallel Systems
Others run a UNIX based microkernel with reduced functionality to optimize the use of the CPU,
such as Cray Research’s UNICOS. Finally, a number of shared memory MIMD machines run
Microsoft Windows NT (soon to be superseded by the high end variant of Windows 2000).
There are a number of core aspects to the characterization of a parallel computer operating
system: general features such as the degrees of coordination, coupling and transparency; and
more particular aspects such as the type of process management, inter-process communication,
parallelism and synchronization and the programming model.
Multitasking
In computing, multitasking is a method where multiple tasks, also known as processes, share
common processing resources such as a CPU. In the case of a computer with a single CPU, only
one task is said to be running at any point in time, meaning that the CPU is actively executing
instructions for that task. Multitasking solves the problem by scheduling which task may be the
one running at any given time, and when another waiting task gets a turn. The act of reassigning
a CPU from one task to another one is called a context switch. When context switches occur
frequently enough the illusion of parallelism is achieved. Even on computers with more than
one CPU (called multiprocessor machines), multitasking allows many more tasks to be run than
there are CPUs.
In the early ages of the computers, they where considered advanced card machines and therefore
the jobs they performed where like: “find all females in this bunch of cards (or records)”. Therefore,
utilisation was high since one delivered a job to the computing department, which prepared and
executed the job on the computer, delivering the final result to you. The advances in electroniv
engineering increased the processing power serveral times, now leaving input/output devices
(card readers, line printers) far behind. This ment that the CPU had to wait for the data it required
to perform a given task. Soon, engineers thought: “what if we could both prepare, process and
output data at the same time” and multitasking was born. Now one could read data for the
next job while executing the current job and outputting the results of a previously job, thereby
increasing the utilisation of the very expensive computer.
Cheap terminals allowed the users themselves to input data to the computer and to execute jobs
(having the department do it often took days) and see results immediately on the screen, which
introduced what was called interactive tasks. They required a console to be updated when a key
24 LOVELY PROFESSIONAL UNIVERSITY