operating-systems distributed-systems

Definition

Distributed Systems

A distributed system is a collection of independent computers that appears to its users as a single coherent system.

Types of Operating Systems

1. Network Operating System (NOS)

The users are aware of the existence of multiple computers. Each machine runs its own local OS and provides tools for remote access (e.g., ssh, ftp, shared network drives).

  • Control: Highly decentralised.
  • Transparency: Low.

2. Distributed Operating System (DOS)

The OS manages resources on multiple machines as if they were a single system. The user does not know (or need to know) which physical machine is executing their process or storing their data.

  • Control: Centralised logical view.
  • Transparency: High.

Transparency vs. Independence

In Distributed File Systems (DFS), two key concepts define how files are accessed:

  • Location Transparency: The name of a file does not reveal its physical storage location. However, if the file is moved to a different machine, its name might need to change (e.g., \\server1\file.txt).
  • Location Independence: The name of a file is completely independent of its physical location. A file can be moved from one machine to another without any change to its name or the way it is accessed by applications.

Distributed Mutual Exclusion

To ensure mutual exclusion across multiple machines, three primary strategies are used:

  1. Centralised: A single coordinator manages all requests for the critical section.
  2. Distributed (Token-based): A logical “token” is passed around the network; only the holder of the token can enter the critical section.
  3. Decentralised (Voting): A process must obtain permission from a majority of nodes before entering.