Distributed in Operating System



So far in this tutorial, we discussed operating systems that runs on a single computer. However, in today's interconnected world, there are scenarios where multiple computers need to work together to achieve a common goal. This is where distributed operating systems play an important role.

Read this chapter to understand more about distributed operating systems, its working, advantages, disadvantages, and examples.

What is Distributed Operating System?

A distributed operating system is a type of operating system that runs on a network of interconnected computers, to make them appear as a single unit to the users. The each computer in the network is called a node of the distributed system. These nodes works together to share resources, data, and processing power to provide a better computing experience. In the other words, a distributed operating system can be called as an operating system for a network of computers.

The image below shows an example of a distributed operating system −

Distributed Operating System Example

A user in a distributed operating system does not care about which node is executing their task or where the resources are stored. It is all managed by the distributed operating system itself. The main goal of a distributed operating system is to provide transparency, scalability, fault tolerance, and resource sharing across the network.

Structure of Distributed Operating System

The structure of a distributed operating system can be divided into the following layers −

  • Workstation − A workstation is a general-purpose computer used by users to perform tasks. It provides user interface and local computing resources used by the user.
  • Terminal − A terminal is a simple input/output device that relies on the processing power of remote computers. It acts as an interface to communicate with the distributed system.
  • File Server − A file server is responsible for centralized storage of files. It manages file access, storage and retrieval for all nodes in the distributed system.
  • Database (DB) Server − A database server handles centralized database services. It manages data consistency, transactions and concurrency for the distributed system.
  • Computer Node − A computer node is a general-purpose compute node in the distributed system. It executes tasks, runs processes and performs calculations as part of the distributed applications.
  • Communication Network − The communication network is the backbone that interconnects all components of the distributed operating system. It ensures reliable data transmission between nodes, servers, terminals and workstations.
Distributed Operating System Structure

How it Works?

The distributed operating system works on the principle of loose coupling between the nodes in the network. Meaning, each node in the system works independently, but they communicate and coordinate with each other.

  • No Shared Memory − In a distributed operating system, there is no shared memory between the nodes. Every node has its own memory and resources.
  • Communication − The nodes in a distributed operating system communicate with each other using high speed LAN or WAN networks.
  • Task Distribution − The distributed operating system distributes tasks among the nodes based on their availability and processing power. So it appers that a single node connected to the network is executing a task that is larger than its capacity.
  • Fault Tolerance − In case of a node failure, the distributed operating system can still function. It can redistribute the tasks to other available nodes in the network.

Arhitecture Types

There are mainly two types of architectures used in distributed operating systems −

  • Client-Server Architecture
  • Peer-to-Peer Architecture

Client-Server Architecture

In client-server architecture of distributed operating system, there are dedicated servers that provide services to multiple clients. The clients request services from the servers, and the servers process those requests and send back the results. This architecture is commonly used in web applications, file sharing systems, and database systems.

The image below shows an example of client-server architecture −

Client Server Architecture Example

Here, you can see that there are multiple clients such as mobile devices, laptops, and desktops that are connected to a central server. The server provides services such as file storage, database access, and web hosting to the clients.

Peer-to-Peer Architecture

In peer-to-peer architecture of distributed operating system, there are no any dedicated servers. Instead, all nodes in the network act as both clients and servers. Each node can request services from other nodes and also provide services to other nodes. This architecture is commonly used in file sharing systems, distributed computing systems, and blockchain networks.

The image below shows an example of peer-to-peer architecture −

Peer-to-Peer Architecture Example

Here, you can see that all nodes in the network are connected to each other. The mobile devices can share files directly with each other without the need for a central server.

Advantages of Distributed Operating System

The distributed operating system is widely used in various applications because it is very beneficial. Some of the advantages of distributed operating systems are −

  • Fault Tolerance − In case of a node failure, the distributed operating system can still function by redistributing tasks to other available nodes.
  • Big Task Exection − It allows the execution of large tasks by distributing it among multiple nodes.
  • Resource Sharing − It enables resource sharing among multiple nodes, leading to better resource utilization.
  • Scalability − It can easily scale by adding more nodes to the network as the demand increases.
  • Transparency − It provides transparency to users by hiding the complexity of the distributed system.

Disadvantages of Distributed Operating System

The drawbacks of distributed operating systems are −

  • Complexity − The design and implementation of distributed operating systems are complex due to the need for communication and coordination between nodes.
  • Security Risks − The distributed nature of the system can lead to security vulnerabilities, as data is transmitted over networks.
  • Network Dependency − The performance of a distributed operating system is heavily dependent on the network's speed and reliability.
  • Cost − Setting up and maintaining a distributed operating system can be expensive due to the need for multiple computers and networking infrastructure.

Conclusion

Distributed operating systems are designed to manage a network of interconnected computers, making them appear as a single unit to users. They offer advantages such as fault tolerance, resource sharing, and scalability, but also come with challenges like complexity and security risks.

Advertisements