• ↑↓ pour naviguer
  • pour ouvrir
  • pour sélectionner
  • ⌘ ⌥ ↵ pour ouvrir dans un panneau
  • ←→ pour naviguer
  • esc pour rejeter
⌘ '
raccourcis clavier

Formal Definition

“A Distributed Operating System manages multiple independent computers and makes them appear as a single system.”

Explanation

A distributed OS connects multiple independent computers over a network and presents them to the user as a single unified system. Instead of logging into one machine, the user sees one pool of resources — CPU cores, memory, storage — spread across many physical machines. The OS handles task distribution, data replication, fault tolerance, and consistency transparently. This is fundamentally different from a network of standalone computers, where each machine is managed separately. True distributed OSes are rare (Plan 9, Amoeba) but the concept heavily influences modern distributed systems infrastructure (Kubernetes, distributed databases, cloud computing platforms).

How It Works

  • Multiple computers (nodes) are connected via a high-speed network
  • A distributed OS layer runs on each node, coordinating with others through message passing
  • A global scheduler distributes processes across nodes — the user does not choose which node runs their task
  • The file system is distributed: a file may be stored across multiple nodes, with replication for fault tolerance
  • Memory can be shared across nodes via distributed shared memory (DSM) — each node sees a single address space
  • If a node fails, the OS transparently migrates its tasks to other nodes and redirects resource requests
  • Clock synchronization (NTP) and consensus algorithms (Paxos, Raft) maintain consistency across nodes

Visual Explanation

distributed_os USER User / Application (Sees One System) DOS Distributed OS Layer USER->DOS N1 Node A (CPU, RAM, Disk) DOS->N1 process 1 N2 Node B (CPU, RAM, Disk) DOS->N2 process 2 N3 Node C (CPU, RAM, Disk) DOS->N3 process 3 NET Network Interconnect N1->NET N2->NET N3->NET

Semantic Network

semantic_distributed_os THIS Distributed OS OS Operating System THIS--OS built from BATCH Batch OS THIS--BATCH contrasts with MULTI Multiprogramming OS THIS--MULTI related CLUSTER Cluster Computing THIS--CLUSTER builds into VM Virtual Machine THIS--VM builds into NET Computer Networks THIS--NET related

Key Properties

  • Multiple independent computers appear as one unified system
  • Transparent resource sharing: processes, files, and memory are distributed across nodes
  • Fault tolerance: node failure does not stop the system — tasks migrate to surviving nodes
  • Scalability: adding more nodes increases total capacity
  • Requires consensus algorithms (Paxos, Raft) for coordination and consistency
  • True distributed OSes are rare — most modern “distributed systems” use networked standalone OSes with middleware (Kubernetes, Spark)

Connections

Edge Cases & Gotchas

  • Network partitions are the hardest problem in distributed systems — a split network creates split-brain scenarios (two nodes both think they are the leader)
  • True distributed OSes (Plan 9, Amoeba) never achieved mainstream adoption — most modern systems use “networked OS” + middleware
  • Latency across nodes is orders of magnitude higher than local memory access — distributed algorithms must account for this
  • Partial failure is the defining challenge: some nodes may fail while others continue, and the system must detect and handle this gracefully