Skip to main content

Why NOS preferred over DOS

Short answer

Network OS is preferred because it works on heterogeneous, autonomous machines with existing operating systems, offering simplicity and scalability. A distributed OS is impractical; instead a middleware layer (e.g., CORBA, Java RMI) runs on top of network OS, providing distribution transparency, communication, naming, and other services, thus realizing a single system image.

Why is network operating system (NOS) widely preferred over distributed operating system (DOS) in practical distributed systems? Explain DOS as a middleware. (Even though a distributed operating system is needed in a distributed system, it is not widely popular in use, why? What and how a DOS is realized in a practical distributed system?)

Network OS versus distributed OS

  • A network operating system (NOS) gives each machine its own OS, with added network services (remote login, file transfer, remote file access). Users know that there are several machines and where resources are. Examples: Windows or UNIX with NFS.
  • A distributed operating system (DOS) manages all machines as one and gives a single system image. Examples: Amoeba, Mach.
PointNOSDOS
TransparencyLow; user knows the machinesHigh; single system view
AutonomyHigh, each node independentLow; global control
Scalability, opennessGoodPoor
Fault toleranceWeakBetter in design
OSDifferent OS allowed (heterogeneous)Same OS on all nodes
ComplexityLowHigh

Why NOS is preferred over DOS in practice

  1. Users and organisations already have computers with their own OS (Windows, Linux), and do not want to replace them. A DOS needs the same OS on all nodes (homogeneous).
  2. A NOS is simple, cheap and works on existing hardware, software and applications.
  3. Nodes want to be autonomous (own users, own policy), which a DOS does not give.
  4. Scalability of a DOS to large, wide-area, heterogeneous networks (the Internet) is poor.
  5. Developers lack applications, tools and support for DOS, and global resource management is difficult.
  6. Administrative boundaries and security make a single global OS unrealistic.

DOS as middleware

In practice the desired single-system view is realised not as a new OS but as a middleware layer over network operating systems on every node. The middleware (CORBA, Java RMI, web services, cloud frameworks) runs on top of the local OS and gives distribution transparency, communication (RPC/RMI), naming, security, replication and transactions.

 App A      App B
 ---------------------------
 Middleware (distributed OS services)
 ---------------------------
 Local OS 1 | Local OS 2 | Local OS 3  (NOS)
 ---------------------------
 Network

The local kernels manage local resources (processes, memory, devices), and the middleware coordinates global matters (naming, RPC, distributed file system, scheduling). So a DOS is realised as network OS plus middleware: heterogeneous and autonomous, but offering a uniform view.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 3 questions →