Introduction
A distributed operating system (DOS) is an essential type of operating system. Distributed systems use many central processors to serve multiple real-time applications and users. As a result, data processing jobs are distributed between the processors.
It connects multiple computers via a single communication channel. Furthermore, each of these systems has its own processor and memory. Additionally, these CPUs communicate via high-speed buses or telephone lines. Individual systems that communicate via a single channel are regarded as a single entity. They’re also known as loosely coupled systems.
This operating system
consists of numerous computers, nodes, and sites joined together via LAN/WAN
lines. It enables the distribution of full systems on a couple of center processors, and it supports many real-time products and different users. Distributed operating systems can share their computing resources and I/O files while providing users with virtual machine abstraction.
Types of Distributed Operating System
There are various types of Distributed Operating systems. Some of them are as follows:
- Client-Server Systems
- Peer-to-Peer Systems
- Middleware
- Three-tier
- N-tier
Client-Server System
This type of system requires the client to request a resource, after which the server gives the requested resource. When a client connects to a server, the server may serve multiple clients at the same time.
Client-Server Systems are also referred to as “Tightly Coupled Operating Systems”. This system is primarily intended for multiprocessors and homogenous multicomputer. Client-Server Systems function as a centralized server since they approve all requests issued by client systems.
Server systems can be divided into two parts:
1. Computer Server System
This system allows the interface, and the client then sends its own requests to be executed as an action. After completing the activity, it sends a back response and transfers the result to the client.
2. File Server System
It provides a file system interface for clients, allowing them to execute actions like file creation, updating, deletion, and more.
Peer-to-Peer System
The nodes play an important role in this system. The task is evenly distributed among the nodes. Additionally, these nodes can share data and resources as needed. Once again, they require a network to connect.
The Peer-to-Peer System is known as a “Loosely Couple System”. This concept is used in computer network applications since they contain a large number of processors that do not share memory or clocks. Each processor has its own local memory, and they interact with one another via a variety of communication methods like telephone lines or high-speed buses.
Middleware
Middleware enables the interoperability of all applications running on different operating systems. Those programs are capable of transferring all data to one other by using these services.
Three-tier
The information about the client is saved in the intermediate tier rather than in the client, which simplifies development. This type of architecture is most commonly used in online applications.
Disadvantages There are various disadvantages of the distributed operating system. Some of them are as follows: Issues: The distributed information system is defined as “a number of interdependent computers linked by a network for sharing information among them”. A distributed information system consists of multiple autonomous computers that communicate or exchange information through a computer network. Design issues of distributed system – Communication Primitives Message passing is one form of communication A physical copy of the message “In the message passing model, several processes run in parallel and communicate with one another by sending and receiving messages. The processes do not have access to shared memory.” Message Passing Primitive Commands This is a low-level approach to IPC, Message passing is the basis of MPI (Message Passing Interface) Buffering Methods: Synchronous Methods: Asynchronous Methods: Inherent Limitations: Distributed System is a collection of self-governing computer systems efficient of transmission and cooperation among each other by the means of interconnections between their hardware and software. It is a collection of loosely coupled processor that appears to its users a single systematic system. Distributed systems has various limitations such as in distributed system there is not any presence of a global state. This differentiates distributed system computing from databases in which a steady global state is maintained. Distributed system limitations has the impact on both design and implementation of distributed systems. There are mainly two limitations of the distributed system which are as following: The above two limitations of the distributed system are explained as following below: 1. Absence of a Global Clock: There are restrictions on the precision of time by which processes in a distributed system can synchronize their clocks due to asynchronous message passing. Every clock in distributed system is synchronize with a more reliable clock, but due to transmission and execution time lapses the clocks becomes different. Absence of global clock make more difficult the algorithm for designing and debugging of distributed system. 2. Absence of Shared Memory: Books on Distributed Operating SystemMessage Passing Primitives
between two processes
is sent from one process to the other
(Leopol01)
and puts the burden of communication on the programmer
and PVM (Parallel Virtual Machine)
both of which have libraries
of message passing commands
in C/C++/Fortran
(For more information on PVM)
(For more information on MPI)
user buffer –> sender’s kernel buffer
–> receiver’s kernel buffer
–> user buffer
user buffer –> user buffer
The sender & receiver need to know
if the buffer at the other end is in use
or if it is static
The two communicating processes rendezvous
No buffer is used
Just buffer the message
Problems:1. Absence of a Global Clock
2. Absence of Shared Memory
In a distributed system there are a lot of systems and each system has its own clock. Each clock on each system is running at a different rate or granularity leading to them asynchronous. In starting the clocks are regulated to keep them consistent, but only after one local clock cycle they are out of the synchronization and no clock has the exact time.
Time is known for a certain precision because it is used for the following in distributed system:
Distributed systems have not any physically shared memory, all computers in the distributed system have their own specific physical memory. As computer in the distributed system do not share the common memory, it is impossible for any one system to know the global state of the full distributed system. Process in the distributed system obtains coherent view of the system but in actual that view is partial view of the system.
As in distributed system there is an absence of a global state, it is challenging to recognize any global property of the system. The global state in distributed system is divided by many number of computers into smaller entities.