Page 29 - DCAP507_SYSTEM_SOFTWARE
P. 29

Unit 2: Evolution of Operating System




          communicate with one  another as needed. Some systems use symmetric multiprocessing, in  Notes
          which each processor is assigned a specific task. A master processor controls the system; the
          other processors either look to the master for instruction or have predefined tasks. This scheme
          defines a master-slave relationship. The master processor schedules and allocates work to the
          slave processors.

                 Example: An example of the symmetric multiprocessing system is Encore's version of
          UNIX  for the  Multimax computer. This computer  can be  configured to  employ dozens  of
          processors, all running a copy of UNIX. The benefit of this model is that many processes can run
          at once (N processes if there are N CPUs) without causing a deterioration of performance.
          However, we must carefully control I/O to ensure that data reach the appropriate processor.
          Also, since the CPUs are separate, one may be sitting idle while another is overloaded, resulting
          in inefficiencies. To avoid these inefficiencies, the processors can share certain data structures. A
          multiprocessor system of this form will allow jobs and resources to be shared dynamically
          among the various processors, and can lower the variance among the systems. However, such a
          system must be written carefully.
          Asymmetric multiprocessing is more common in extremely large systems, where one of the
          most time-consuming activities is simply processing I/O. In older batch systems, small processors,
          located at some distance from the main CPU, were used to run card readers and line printers and
          to transfer these jobs to and from the main computer. These locations are called remote-job-
          entry (RJE) sites.  In a time-sharing system, a main I/O activity is processing the I/O of characters
          between the terminals and the computer. If the main CPU must be interrupted for every character
          for every terminal, it may spend all its time simply processing characters.  So that this situation
          is avoided, most systems have a separate front-end processor that handles all the terminal I/O.


                 Example: A large IBM system might use an IBM Series/I minicomputer as a front-end.
          The front-end acts as a buffer between the terminals and the main CPU, allowing the main CPU
          to handle lines and blocks of characters, instead of individual characters. Such systems suffer
          from decreased reliability through increased specialization. It is important to recognize that the
          difference between symmetric and asymmetric multiprocessing may  be the  result of either
          hardware or software.
          Special hardware may  exist to differentiate the multiple processors, or the  software may  be
          written to allow only one master and multiple slaves. For instance, Sun's operating  system
          SunOS  Version  4  provides asymmetric  multiprocessing,  whereas  Version  5  (Solaris  2)  is
          symmetric.
          As microprocessors become less expensive and more powerful, additional operating system
          functions are off-loaded to slave-processors, or back-ends.

                 Example: It is fairly easy to add a microprocessor with its own memory to manage a disk
          system.
          The microprocessor could receive a sequence of requests from the main CPU and implement its
          own disk queue  and scheduling algorithm. This arrangement relieves the main CPU of  the
          overhead of disk scheduling. PCs contain a microprocessor in the keyboard to convert the key
          strokes into codes to be sent to the CPU. In fact, this use of microprocessors has become  so
          common that it is no longer considered multiprocessing.








                                           LOVELY PROFESSIONAL UNIVERSITY                                   23
   24   25   26   27   28   29   30   31   32   33   34