Distributed Operating System
Overview
A distributed operating system uses multiple central processing units. With distributed operating systems, all the jobs that are to be processed will be distributed among the multiple processors. Every system or node in the distributed operating system has its own memory as well as its own processor.
What is a Distributed Operating System?
An operating system is a software collection that provides common services for computer programs and manages computer hardware resources. It acts as an interface between the hardware of the system and the user. A distributed operating system is a type of operating system that uses multiple central processors to manage hardware resources and serve multiple real-time applications and users. In a distributed operating system, all the jobs are distributed among multiple processors, which communicate with each other via a single communication channel that works in both directions. Each system in a distributed operating system has its own memory and processor. Communications between the systems occur using various communication lines such as telephone lines or high-speed buses. This collection of systems is also known as loosely coupled systems as well as distributed systems.
What Does the Distributed Operating System Actually Consist of?
A distributed operating system comprises multiple nodes, computers, and sites that are interconnected through Local Area Network (LAN) or Wide Area Network (WAN) lines. This enables the distribution of full systems on multiple central processors and supports different users and real-time products. Distributed operating systems allow the sharing of computing resources and input-output files while providing a single interface to the user. This makes the system appear as a simple, single system to the user, similar to the one being used to read this tutorial.
In this image above, as you can see, there are multiple workstations/systems/nodes and they are all bidirectionally connected with a communication network, which could be a LAN / WAN, etc.
Types of Distributed Operating System
Let's check out some of the types of distributed operating systems:
- Peer to Peer Systems
- Client-Server Systems
- Middleware
- N-tier
- Three tier
We'll now go through all of these systems in detail.
Peer to Peer Systems
In this type of distributed system, all the nodes present in the distributed system play an important role. This is because the task given by the user is divided evenly and distributed equally among all the nodes in the system. Adding to that, all the nodes can share the data and the resources as required; they just need a network to connect.
Peer-to-peer distributed systems are also called "Loosely Coupled Systems". Computer network applications use this concept of peer-to-peer distributed systems widely as these systems contain a large number of processors that do not share clocks or memory. Every processor in the system has its own local memory and a multitude of communication methods are used for communication between the processors, such as -- high-speed buses or telephone lines.
Since each node in a peer-to-peer system is independent of the other, the failure of a node does not result in the failure of the system. Till the time the node is repaired, the system functions the same way. Below, you can see a figure of the peer-to-peer distributed operating system.
Client-Server Systems
In this type of distributed operating system, we have an application that is essentially divided into two parts, with each of them possibly residing on separate systems (since it is a "distributed" operating system), yet each of the systems work together, which helps provide a service to the end-user - you.
As you can see in the figure below, one part of this application is the client makes a request for a service for the end-user. The second part of this application - the server - resides on a larger machine (eg. a mainframe computer) and makes use of the resources of this computer to perform the services that were requested by the client.
Middleware
Middleware, as opposed to the other distributed operating systems you read about, is software. This software lies between the operating system and the applications that are running on it -- making it function as a hidden translation layer. This middleware is useful in distributed applications as it enables data management as well as communications for these distributed applications.
With the help of middleware, the user - you - can perform requests such as submitting a form on the web browser and allowing the web browser to return a dynamic web page based on the profile of the user.
N-tier
N-tier, in simpler terms, means - any number of tiers with no limit. This way, n-tier systems allow you to make use of computer hardware and software resources dynamically and hence provide the ability to add whatever you need, whenever and wherever required.
N-tier distributed operating systems essentially allow you to make your own mix of hardware and software layers to provide a modular collection of services. Think of it as software lego.
Three Tier
You've already read about the n-tier systems, in three-tier systems we have just three layers, instead of the unlimited number of layers of software and hardware, you can have just three layers.
In the three tier architecture, as you can see in the figure below you have a presentation or the user interface tier, the application logic tier, and the data tier.
Presentation Tier: In this tier, we have the interaction of the end user (you) with the application or software used. The main purpose of the presentation tier is to collect information from the end-user and also to display it. This tier runs on a web browser, as a desktop application, or any GUI.
Application Tier: This tier is also known as the logic or middle tier and it is responsible for the processing of the information that is collected from the presentation tier. This processing is done using business logic, which is a specific set of business rules set by the developer. The data in the data tier can be added, deleted, or modified by the application tier.
Data Tier: The data tier is also called the database tier and this tier is responsible for managing and storing the information that is processed by the application tier. It can be an RDBMS like MySQL, MariaDB, Oracle, etc, or a NoSQL database server like MongoDB.
Features/Characteristics of Distributed Operating System
The following are the characteristics of Distributed Operating Systems:
1. Resource Sharing
The significant component of this framework is that it permits clients to share resources in a secure and controlled way. Resources can be of any kind. For instance, a few normal resources which are shared can be printers, documents, information, storage, website pages, and so on.
2. Openness
A very important feature/goal of distributed operating systems is openness. Openness here is that the services of the system are freely displayed through the interfaces. This characteristic is mainly concerned with extensions and improvements of distributed systems. This system must be open in terms of software and hardware. What makes a system open?
- If a well-defined and detailed interface of components is published
- If the interfaces of components are standardised
- If new components can be easily integrated with existing components.
3. Concurrency
Concurrency is a property of a system addressing the way that different activities are executed simultaneously on different machines. The simultaneous execution of activities happens in various parts running on different machines as a component of a distributed system. Moreover, these activities might play out interactions among each other of some sort. Concurrency diminishes the latency and expands the throughput of the distributed system.
4. Scalability
This feature is essentially concerned with how the growth of a distributed system is handled as the number of users of the system increases. A distributed system is generally scaled by adding more computers to the network. When we scale the system, the components need not be changed but should be designed in a way that the distributed system is scalable.
5. Fault Tolerance
When it comes to distributed operating systems, anything can fail -- hardware, software, or network. The distributed operating system must be designed in a way that even if something fails, the system must still be available for use.
Examples of Distributed Operating System
Some examples of distributed operating systems are:
- Solaris
- OSF/1
- Micros
- DYNIX
- Locus
- Mach
Applications of Distributed Operating System
Some of the common applications of distributed operating systems are:
- Internet technology
- Air Traffic control system
- Airline reservation control systems
- Telecommunication networks
- Cluster computing
- Data rendering
- Grid computing
... and many more.
Advantages and Disadvantages of Distributed Operating System
Advantages
- With the facility of being able to share resources of multiple systems, a user using one particular site may be able to use the resources that are available at another site.
- There is a significant decrease in the load on the system and delays in the processing of data since there are multiple machines/nodes working on the processing of tasks.
- According to the user's requirements, the size of the system can be set.
- If one of the nodes/systems fail, then it does not affect the other nodes in the distributed system. The remaining nodes will continue to function without the node.
Disadvantages
- The cost of setting up a distributed operating system is high.
- The failure of the main system might affect the complete system.
- Programming of a distributed operating system is complex.
- It is difficult to implement adequate security in the distributed operating system as every connection between nodes must be secure.
Conclusion
-
A Distributed Operating System (DOS) distributes jobs among multiple central processors for better processing, using a single communication channel that connects multiple computers, nodes, and sites through LAN or WAN lines. DOS comes in different types, such as Peer to Peer Systems, Client-Server Systems, Middleware, N-tier, and Three tier.
-
Distributed operating systems have various features, including resource sharing, openness, concurrency, scalability, fault tolerance, and transparency. Some examples of distributed operating systems are Solaris, OSF/1, and Micros.
-
One of the main advantages of a distributed operating system is that a user at one site can use resources available at another site, leading to a significant decrease in system load and delays in processing data. The size of the system can be adjusted according to the user's requirements, and the failure of one node does not affect the functioning of other nodes.
-
However, DOS has some disadvantages, such as high cost, the possibility of complete system failure if the main system fails, complex programming, and difficulty in implementing security measures.
FAQs
Q1. Why do we need a distributed operating system?
A. Distributed frameworks are utilized when responsibility is excessively high for a solitary computer or device to deal with. They're additionally useful in circumstances when the responsibility is dependent upon future developments, for example, web-based business traffic on Cyber Monday. Today, essentially every internet-connected web application that exists is based on top of some type of distributed framework.
Q2. What is the most important feature of a distributed operating system?
A. Transparency is the main element of the distributed operating system. The basic role of a distributed system is to conceal the way that resources are shared. Transparency makes sure that the user should be uninformed or unaware that the resources they are accessing are shared.