Page 14 - DCAP403_Operating System
P. 14

Unit 1: Introduction to Operating System




          program, recorded timing and accounting information, and then went back to begin processing   Notes
          of another user program, and so on, as long as there were programs waiting in the input queue
          to be executed.

          The first generation saw the evolution from hands-on operation to closed shop operation to the
          development of mono-programmed operating systems. At the same time, the development of

          programming languages was moving away from the basic machine languages; first to assembly
          language, and later to procedure oriented languages, the most significant being the development

          of FORTRAN by John W. Backus in 1956. Several problems remained, however, the most obvious

          was the inefficient use of system resources, which was most evident when the CPU waited while
          the relatively slower, mechanical I/O devices were reading or writing program data. In addition,
          system protection was a problem because the operating system kernel was not protected from
          being overwritten by an erroneous application program.
          Moreover, other user programs in the queue were not protected from destruction by executing
          programs.

          1.5.3 Second Generation (1956-1964)

          The second generation of computer hardware was most notably characterised by transistors
          replacing vacuum tubes as the hardware component technology. In addition, some very important
          changes in hardware and software architectures occurred during this period. For the most part,

          computer systems remained card and tape-oriented systems. Significant use of random access
          devices, that is, disks, did not appear until towards the end of the second generation. Program
          processing was, for the most part, provided by large centralised computers operated under
          mono-programmed batch processing operating systems.
          The most significant innovations addressed the problem of excessive central processor delay

          due to waiting for input/output operations. Recall that programs were executed by processing
          the machine instructions in a strictly sequential order. As a result, the CPU, with its high speed
          electronic component, was often forced to wait for completion of I/O operations which involved
          mechanical devices (card readers and tape drives) that were order of magnitude slower. This
          problem led to the introduction of the data channel, an integral and special-purpose computer
          with its own instruction set, registers, and control unit designed to process input/output
          operations separately and asynchronously from the operation of the computer’s main CPU near

          the end of the first generation, and its widespread adoption in the second generation.
          The data channel allowed some I/O to be buffered. That is, a program’s input data could be
          read “ahead” from data cards or tape into a special block of memory called a buffer. Then, when
          the user’s program came to an input statement, the data could be transferred from the buffer
          locations at the faster main memory access speed rather than the slower I/O device speed.
          Similarly, a program’s output could be written another buffer and later moved from the buffer
          to the printer, tape, or card punch. What made this all work was the data channel’s ability to
          work asynchronously and concurrently with the main processor. Thus, the slower mechanical
          I/O could be happening concurrently with main program processing. This process was called
          I/O overlap.

          The data channel was controlled by a channel program set up by the operating system I/O
          control routines and initiated by a special instruction executed by the CPU. Then, the channel
          independently processed data to or from the buffer. This provided communication from the CPU
          to the data channel to initiate an I/O operation. It remained for the channel to communicate
          to the CPU such events as data errors and the completion of a transmission. At  fi rst,  this
          communication was handled by polling – the CPU stopped its work periodically and polled the
          channel to determine if there is any message.

          Polling was obviously inefficient (imagine stopping your work periodically to go to the post

          office to see if an expected letter has arrived) and led to another significant innovation of the

                                           LOVELY PROFESSIONAL UNIVERSITY                                     7
   9   10   11   12   13   14   15   16   17   18   19