Page 30 - DCAP507_SYSTEM_SOFTWARE
P. 30
System Software
Notes Distributed Systems
A recent trend in computer systems is to distribute computation among several processors.
In contrast to the tightly coupled systems, the processors do not share memory or a clock.
Instead, each processor has its own memory and clock. The processors communicate with one
another through various communication lines, such as high-speed buses or telephone lines.
These systems are usually referred to as loosely coupled systems, or distributed systems. The
processors in a distributed system may vary in size and function. They may include small
microprocessors, workstations, minicomputers, and large general-purpose computer systems.
These processors are referred to by a number of different names, such as sites, nodes, computers,
and so on, depending on the context in which they are mentioned.
There are a variety of reasons for building distributed systems, the major ones being:
Resource sharing: If a number of different sites (with different capabilities) are connected to one
another, then a user at one site may be able to use the resources available at another.
Example: A user at site A may be using a laser printer available only at site B. Meanwhile,
a user at B may access a file that resides at A.
In general, resource sharing in a distributed system provides mechanisms for sharing files at
remote sites, processing information in a distributed database, printing files at remote sites,
using remote specialized hardware devices (such as a high-speed array processor), and performing
other operations.
Computation speedup: If a particular computation can be partitioned into a number of
subcomputations that can run concurrently, then a distributed system may allow us to distribute
the computation among the various sites - to run that computation concurrently. In addition, if
a particular site is currently overloaded with jobs, some of them may be moved to other, lightly
loaded, sites. This movement of jobs is called load sharing.
Reliability: If one site fails in a distributed system, the remaining sites can potentially continue
operating. If the system is composed of a number of large autonomous installations (that is,
general-purpose computers), the failure of one of them should not affect the rest. If, on the other
hand, the system is composed of a number of small machines, each of which is responsible for
some crucial system function (such as terminal character I/O or the file system), then a single
failure may effectively halt the operation of the whole system. In general, if sufficient redundancy
exists in the system (in both hardware and data), the system can continue with its operation,
even if some of its sites have failed.
Communication: There are many instances in which programs need to exchange data with one
another on one system.
Example: Window systems are one example, since they frequently share data or transfer
data between displays. When many sites are connected to one another by a communication
network, the processes at different sites have the opportunity to exchange information.
Users may initiate file transfers or communicate with one another via electronic mail. A user can
send mail to another user at the same site or at a different site.
Real Time Systems
Another form of a special-purpose operating system is the real-time system. A real-time system
is used when there are rigid time requirements on the operation of a processor or the flow of
data, and thus is often used as a control device in a dedicated application.
24 LOVELY PROFESSIONAL UNIVERSITY