Skip to main content

Multiprogramming, multiprocessing, distributed OS

Short answer

Multiprogramming keeps multiple jobs in memory and switches the CPU when one waits for I/O, maximizing throughput. Multiprocessing uses multiple CPUs sharing memory for true parallelism. Real-time OS meets strict deadlines; hard real-time cannot miss them. Distributed OS unifies independent networked computers into a single system image.

Explain multiprogramming, multiprocessing, real time and distributed operating system.

Multiprogramming operating system

Several jobs are kept in main memory at the same time. When the running job waits for I/O, the OS switches the CPU to another ready job. The aim is to keep the CPU busy and increase throughput. It needs memory management, CPU scheduling and protection. A multiprogrammed system with fast switching and small time slices becomes a time-sharing system (UNIX).

 Memory: [OS][Job1][Job2][Job3]
 CPU:    Job1 -> (I/O wait) -> Job2 -> Job3 -> Job1

Multiprocessing operating system

Controls a computer with two or more CPUs sharing the memory, bus and devices (tightly coupled). Processes truly run in parallel, giving higher throughput and fault tolerance. Models: asymmetric (a master CPU runs the OS and schedules the slave CPUs) and symmetric (SMP: every CPU runs the OS and any process). It must handle CPU scheduling for multiple CPUs and synchronized access to shared kernel data.

Real-time operating system

Guarantees that responses are produced within strict time deadlines. Hard real-time: missing a deadline is a system failure (flight control, nuclear plant, pacemaker). Soft real-time: occasional misses are acceptable (multimedia). It uses priority-based preemptive scheduling (Rate Monotonic, EDF), small kernel and bounded interrupt latency. Examples: VxWorks, QNX.

Distributed operating system

Manages a set of independent computers connected by a network (loosely coupled, each with own memory and clock) and presents them as one coherent system. Users need not know where a resource or process is located. Benefits are resource sharing, computation speed-up, reliability and scalability; difficulties are communication delay, synchronization and security. Examples: Amoeba, Sprite.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Operating System chapter 1 questions →