Page 30 - DCAP403_Operating System
P. 30
Unit 2: Operation and Function of Operating System
and its input data on an input device, and the loader transfers information from that input device Notes
into memory. After transferring control to the loaded program by manual or automatic means,
execution of the program commences. The executing program reads its input from the designated
input device and may produce some output on an output device, such as a printer or display
screen. Once in memory, the program may be rerun with different set of input data.
The mechanics of development and preparation of programs in such environments are quite slow
and cumbersome due to serial execution of programs and numerous manual operations involved
in the process. In a typical sequence, the editor program is loaded to prepare the source code of
the user program. The next step is to load and execute the language translator and to provide
it with the source code of the user program. When serial input devices, such as card readers,
are used, multiple-pass language translators may require the source code to be repositioned
for reading during each pass. If syntax errors are detected, the whole process must be repeated
from the beginning. Eventually, the object code produced from the syntactically correct source
code is loaded and executed. If run-time errors are detected, the state of the machine can be
examined and modified by means of console switches, or with the assistance of a program called
a debugger. The mode of operation described here was initially used in late fifties, but it was also
common in low-end microcomputers of early eighties with cassettes as I/O devices.
In addition to language translators, system software includes the loader and possibly editor and
debugger programs. Most of them use input/output devices and thus must contain some code
to exercise those devices. Since many user programs also use input/output devices, the logical
refinement is to provide a collection of standard I/O routines for the use of all programs.
In the described system, I/O routines and the loader program represent a rudimentary form
of an operating system. Although quite crude, it still provides an environment for execution of
programs far beyond what is available on the bare machine. Language translators, editors, and
debuggers are system programs that rely on the services of, but are not generally regarded as
part of, the operating system.
Although a definite improvement over the bare machine approach, this mode of operation is
obviously not very efficient. Running of the computer system may require frequent manual loading
of programs and data. This results in low utilization of system resources. User productivity,
especially in multiuser environments, is low as users await their turn at the machine. Even with
such tools as editors and debuggers, program development is very slow and is ridden with
manual program and data loading.
Parallel Processing System
Parallel operating systems are primarily concerned with managing the resources of parallel
machines. This task faces many challenges: application programmers demand all the performance
possible, many hardware configurations exist and change very rapidly, yet the operating system
must increasingly be compatible with the mainstream versions used in personal computers and
workstations due both to user pressure and to the limited resources available for developing
new versions of these system. There are several components in an operating system that can be
parallelized. Most operating systems do not approach all of them and do not support parallel
applications directly. Rather, parallelism is frequently exploited by some additional software
layer such as a distributed file system, distributed shared memory support or libraries and
services that support particular parallel programming languages while the operating system
manages concurrent task execution.
The convergence in parallel computer architectures has been accompanied by a reduction in the
diversity of operating systems running on them. The current situation is that most commercially
available machines run a flavour of the UNIX OS (Digital UNIX, IBM AIX, HP UX, Sun Solaris,
Linux).
LOVELY PROFESSIONAL UNIVERSITY 23