Skip to main content

DOS; monolithic and microkernel

Short answer

A distributed operating system manages multiple computers to appear as one. Monolithic kernels contain all services in a single kernel-mode program, fast but rigid. Microkernels minimize the kernel to IPC, scheduling, and memory, running other services as user-level servers, offering modularity and distribution support with message passing overhead.

What do you mean by DOS (Distributed Operating System)? Briefly explain the monolithic and microkernel architectures of operating system.

Distributed operating system (DOS)

A distributed operating system is an operating system that manages a collection of independent computers and makes them appear to the user as a single computer (uniprocessor view). It controls all the resources, schedules processes on any node, and provides transparency, a global file system and global IPC. Examples: Amoeba, Mach, Sprite.

Monolithic kernel

All OS services (process, memory, file and device management, networking) are in one large kernel running in kernel mode, communicating by direct procedure calls. It is fast but big, rigid and error-prone. Examples: UNIX, Linux.

Microkernel

The kernel contains only a minimal set (IPC, address spaces, thread scheduling, interrupt handling). Other services run as user-level servers and use message passing.

 Monolithic:            Microkernel:
 [App]                  [App] [FS] [Net] [Mem mgr]
 [ Big kernel:           ---- message passing ----
   FS,Net,MM,Drivers ]  [ Microkernel: IPC,sched ]
 Hardware               Hardware
PointMonolithic kernelMicrokernel
StructureAll OS services (file system, memory, scheduling, drivers, networking) in one large kernel in kernel spaceOnly minimum functions (IPC, basic scheduling, low level memory, interrupts) in kernel
Other servicesPart of kernelRun as user-level servers
CommunicationDirect procedure calls (fast)Message passing between servers (slower)
SizeLargeSmall
ReliabilityA bug in one module can crash the systemA server failure does not crash the kernel
Flexibility, extensibilityHard; needs recompilationEasy; add/replace servers
ExamplesUNIX, Linux, MS-DOSMach, Amoeba, Chorus, QNX

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 3 questions →