An operating system is specialized
software which controls and monitors the execution of application programs and
act as interface between application and computer hardware. Generally, the end
user views a computer system in term of set of applications. The User is
unaware of details of Computer hardware. A distributed operating system looks to its users like an ordinary
centralized operating system but runs on multiple independent connected systems.
Distributed system uses multiple central processors to serve multiple Real-Time
applications and multiple users. Data processing jobs are distributed among the
processors accordingly. Processors communicate with one another through various
lines (such as high-speed buses or telephone lines). Distributed system doesn’t
share main memory or disk.
A Distributed Operating System is basically collection of processors
interconnected by a communication network in which each processor has its own
local memory and peripheral devices and the communication between the processor
of system take place by passing over the communication network. Distributed
operating system provides a mechanism in which master operating system divides
the task in different slaves and processors collects the result from all slaves
and show final result.
Distributed operating system is an extension of the network operating
system where distributed applications are running on multiple computers linked
by communication. A network operating system
Systems are designed in a way that complete information about the system
environment will never be available. In distributed system the resources are
physically separated there is no common clock among the multiple processors,
delivery of messages is delayed and messages could even be lost. A Distributed
Operating System is designed in a way that the user should be able to view a
distributed system as a virtual system as a virtual centralized system. To meet
this challenge the designers of a distributed operating system must deal with
several design issues. Some of them are as follows.
The distributed system
should be perceived as a single entity by the user or the application
programmer. The user should be unaware of where the services are located and
also the transferring from a local machine to a remote one should be
transparent. Transparency also makes the system simple and effective. There are
different kinds of transparencies that the distributed system has to incorporate.
Transparency in access control carried out
where the User should not need or be
able to recognize whether a resource (hardware or software) is remote or local.
Distributed operating system should allow users to access remote resources in
the same way as local resources.
location control specifies in two aspects as name transparency and user
mobility. The name transparency will identify the name
of a resource (hardware or software) should not reveal any hint as to the
physical location of the resource. The resources which are moved from one node
to another must be allowed to move without having their name changed. User mobility refers to the fact that
no matter which machine a user is logged onto he or she should be able to
access a resource with the same name. That is the user should not be required
to use different names to access the same resources from two different nodes of
transparency describes that replicas (additional copies) of files and other
resources are created for better performance and reliability of system on
different nodes of distributed operating system. The user of distributed
operating system should be unaware about replication of data. It is the responsibility of the
distributed system to handle the replication issues which are naming of
replicas and replication control. The system should provide an appropriate name
to the replicas and the decision to control the replication such as how many
copies of the resources should be created or deleted should be made entirely
automatically by the system in a user transparent manner.
Failure transparency in
distributed system refers to the extent to which errors or failures and
subsequent recoveries of hosts and services within the system are invisible to
users and applications. If files are replicated the partial failure of system
can be handled by providing the resources from other nodes in distributed
system. Complete failure transparency can’t be achieved by a distributed system
because all types of failures cannot be handled in a user transparent manner.
in distributed operating system allows the user to be unaware of the movement
of information or processes within a system without affecting the operations of
the users and the applications that are running. In distributed system an
object is migrated from one node to another for better performance, reliability
and security reasons. Migration decision are taken by the system automatically
such as which object should be moved from where to where.
transparency of distributed system multiple users who are spatially separated
use the system concurrently. Users and applications should be able to access
shared data or objects without interference between each other.
transparency allows the system to be automatically recognized to improve performance
as loads vary dynamically in the system.
The aim of scaling
transparency is to allow the system to expand in scale without disrupting the
activities of the system.
of transparency based on system goals:
Reliability of dos with fault handling
The distributed operating system which manages
the resources must be designed properly to increase the system’s reliability. A
fault is a mechanical or algorithmic defect that may generate error. Fault in a
system causes system failure. To provide higher reliability dos is must be
designed in a way to avoid faults, to tolerate faults and to detect and recover
A dos must be designed
in such a way that the fault occurrence may be minimized. Fault avoidance is
most effective when there are only a very small number of failure modes.
Sometimes in dos fault avoidance mechanism could not be achieved properly.
Fault tolerance is the ability of a system to continue operating in the state
of partial system failure. The basic technology to handle the fault is to use
redundancy technique in which replicas (additional copies) of resources are
created so that if one of them fails the other can continue the processing.
Replication of resources may help in partial failure but it increases disk
overuse and all copies of a file must be in consistent manner. Therefore the
dos must be designed to maintain a proper balance between the degree of
reliability and the incurred overhead. A system is said to be k-fault tolerant
if it can continue to work even in the event of the failure of k components Cristian
1991, Nelson 1990. Therefore k+1 replica are needed to continue when failure
occurs in k components of the system. If k replicas are lost due to failure,
the remaining one replica can be used for continued functioning of the system.
Fault detection and recovery method deal with
the use of hardware and software mechanism to determine the occurrence of
failure and then to correct the system to a state acceptable for continued
Flexibility is another
most important issue of the design of distributed operating system. Distributed
system design should be flexible due to two reasons- first distributed
operating system should be modified easily and second the system should be
enhanced easily. The most important design factor that affects the flexibility
of distributed operating system is the model used for designing its kernel. Two
commonly used models for kernel design in distributed operating system are
monolithic kernel and micro kernel.