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
   25   26   27   28   29   30   31   32   33   34   35