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