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.
N-tier
When a server or application has to transmit requests to other enterprise services on the network, n-tier systems are used. There are various features of the distributed operating system. Some of them are as follows: Openness It means that the system’s services are freely displayed through interfaces. Furthermore, these interfaces only give the service syntax. For example, the type of function, its return type, parameters, and so on. Interface Definition Languages are used to create these interfaces (IDL). Scalability It refers to the fact that the system’s efficiency should not vary as new nodes are added to the system. Furthermore, the performance of a system with 100 nodes should be the same as that of a system with 1000 nodes. Resource Sharing Its most essential feature is that it allows users to share resources. They can also share resources in a secure and controlled manner. Printers, files, data, storage, web pages, etc., are examples of shared resources. Flexibility A DOS’s flexibility is enhanced by modular qualities and delivers a more advanced range of high-level services. The kernel/ microkernel’s quality and completeness simplify the implementation of such services. Transparency It is the most important feature of the distributed operating system. The primary purpose of a distributed operating system is to hide the fact that resources are shared. Transparency also implies that the user should be unaware that the resources he is accessing are shared. Furthermore, the system should be a separate independent unit for the user. Heterogeneity The components of distributed systems may differ and vary in operating systems, networks, programming languages, computer hardware, and implementations by different developers. Fault Tolerance Fault tolerance is that process in which user may continue their work if the software or hardware fails. There are various examples of the distributed operating system. Some of them are as follows: Solaris It is designed for the SUN multiprocessor workstations OSF/1 It’s compatible with Unix and was designed by the Open Foundation Software Company. Micros The MICROS operating system ensures a balanced data load while allocating jobs to all nodes in the system. DYNIX It is developed for the Symmetry multiprocessor computers. Locus It may be accessed local and remote files at the same time without any location hindrance. Mach It allows the multithreading and multitasking features. There are various applications of the distributed operating system. Some of them are as follows: Network Applications DOS is used by many network applications, including the Web, peer-to-peer networks, multiplayer web-based games, and virtual communities. Telecommunication Networks DOS is useful in phones and cellular networks. A DOS can be found in networks like the Internet, wireless sensor networks, and routing algorithms. Parallel Computation DOS is the basis of systematic computing, which includes cluster computing and grid computing, and a variety of volunteer computing projects. Real-Time Process Control The real-time process control system operates with a deadline, and such examples include aircraft control systems. There are various advantages and disadvantages of the distributed operating system. Some of them are as follows: There are various advantages of the distributed operating system. Some of them are as follow: 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 SystemFeatures of Distributed Operating System
Examples of Distributed Operating System
Applications of Distributed Operating System
Advantages and Disadvantages of Distributed Operating System
Advantages
Message 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.