Page 28 - DCAP507_SYSTEM_SOFTWARE
P. 28

System Software




                    Notes          Time-sharing operating systems are even more complex than are multi-programmed operating
                                   systems. As in multiprogramming, several jobs must be kept simultaneously in memory, which
                                   requires some form of memory management and protection. So that a reasonable response time
                                   can be obtained, jobs may have to be swapped in and out of main memory.
                                   Many universities and businesses have large numbers of workstations tied together with local-
                                   area networks. As PCs gain more sophisticated hardware and software, the line dividing the
                                   two categories is blurring.




                                      Task  Make distinction between multiprogramming system and multitasking system.

                                   Parallel Systems

                                   Most systems to date  are single-processor  systems; that  is, they  have only one main  CPU.
                                   However, there is a trend toward multiprocessor systems. Such systems have more than one
                                   processor in close communication, sharing the computer bus, the clock, and sometimes memory
                                   and peripheral devices. These systems are referred to as tightly coupled systems.
                                   There are several reasons for building such systems. One advantage is increased throughput.  By
                                   increasing the number of processors, we hope to get more work done in a shorter period of time.
                                   The speed-up ratio with n processors is not n, however, but rather is less than n. When multiple
                                   processors cooperate on a task, a certain amount of overhead is incurred in keeping all the parts
                                   working correctly. This overhead, plus contention for shared resources lowers the expected gain
                                   from additional processors. Similarly, a  group of n programmers  working closely  together
                                   does not result in n times the amount of work being accomplished.
                                   Multiprocessors can also save money compared to multiple single systems because the processors
                                   can share peripherals, cabinets, and power supplies. If several programs are to operate on the
                                   same set of data, it is cheaper to store those data on one disk and to have all the processors share
                                   them, rather than to have many computers with local disks and many copies of the data.
                                   Another reason for multiprocessor systems is that they increase reliability. If functions can be
                                   distributed properly among several processors,  then the failure of one processor will not halt
                                   the system, but rather will only slow it down. If we have 10 processors and one fails, then each
                                   of the remaining nine processors must pick up a share of the work of the failed processor.  Thus,
                                   the entire system runs only 10 percent slower, rather than failing altogether.
                                   This ability to continue providing service proportional to the level of surviving hardware is
                                   called graceful degradation. Systems that are designed for graceful degradation are also called
                                   fault-tolerant.

                                   Continued operation in the presence of failures requires a mechanism to allow the failure to be
                                   detected, diagnosed, and corrected (if possible). The Tandem system uses both hardware and
                                   software duplication to ensure continued operation despite faults. The system consists of two
                                   identical processors, each with its own local memory. The processors are connected by a bus.
                                   One processor is the primary, and the other is the backup. Two copies are kept of each process;
                                   one on the primary machine and the other on the backup. At fixed checkpoints in the execution
                                   of the system, the state information of each  job (including  a copy  of the  memory image) is
                                   copied from the primary machine to the backup. If a failure is detected, the backup copy is
                                   activated, and is restarted from the most recent checkpoint.
                                   This solution is obviously an expensive one, since there is considerable hardware duplication.
                                   The most common multiple-processor systems now use the symmetric multi-processing model,
                                   in which  each processor  runs an  identical  copy  of the  operating  system,  and the  copies



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