written 5.7 years ago by |
A distributed system is a collection of different processors that work together but do not share their own memory or clock. Each processor has its own local memory and uses communication networks to communicate with each other, like high-speed buses or telephone lines.
Goals of Distributed Operating System
There are four major goals for building distributed systems, i.e. resource sharing, computation speedup, reliability, and communication.
Resource Sharing
If a number of different sites (with different capabilities) are connected to each other, then a user at one site can use the resources available at another site. For example, a user at site A may be using a laser printer located at site B. In the same way, a user at B may access a file that resides at A.
Computation Speedup
A particular computation can be divided into sub-computations that can run concurrently. A distributed system allows us to distribute the sub-computations among the various sites. These sub-computations can be run concurrently and thus provide computation speedup because the same task gets distributed to various computers and ultimately load get distributed and computation becomes faster.
In addition, if a particular site is currently overloaded with jobs, some of them can be moved to other, lightly loaded sites. This transformation of jobs is called load sharing. There is another concept automated load sharing, in which the distributed operating system automatically moves jobs, is not yet common in commercial systems.
Reliability
If one site fails in a distributed system, the remaining sites can continue working, giving the system better reliability. If the system is composed of multiple large autonomous installations (that is, general-purpose computers), the failure of one of them should not affect the rest. If, however, the system is composed 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 halt the operation of the whole system. In general, with enough redundancy (in both hardware and data), the system can continue operation; even if some of its sites have failed.
Communication
When several sites are connected by a communication network, users at the various sites have the opportunity to exchange information. At a low-level, messages are passed between systems, between processes in the single-computer. Given the message passing, all the higher-level functionality found in standalone systems can be expanded to encompass the distributed system. Such functions include file transfer, login, mail, and remote procedure calls (RPCs).