---
title: "Multiprogramming, multiprocessing, distributed OS"
subject: "Operating System"
chapter: 1
key: "semester_6/operating_system:multiprog-multiproc-distributed-os"
source: https://www.bctengineer.com/q/semester_6/operating_system/multiprog-multiproc-distributed-os
site: BCT Engineering
---

# Multiprogramming, multiprocessing, distributed OS

Operating System · Chapter 1: Introduction to Operating System

- Asked in: 2074 Bhadra, 6 marks; year not given
- Video: [Multi-Programming Operating System | Easy Explaination using Animation](https://www.youtube.com/watch?v=EphlwdKYsu8) — making IT simple
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_6/operating_system/multiprog-multiproc-distributed-os
- Whole chapter: https://www.bctengineer.com/md/semester_6/operating_system/chapter-1

## Question

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

## 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.

## Answer

#### 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).

```text
 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.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What is the aim of multiprogramming?
   A. Guarantee deadlines
   B. Keep the CPU busy and increase throughput by switching jobs during I/O waits
   C. Use many CPUs
   D. Hide network location
   Answer: B. Several jobs in memory let CPU run another when one waits. (Key point: Multiprogramming aim)

2. In asymmetric multiprocessing, what does the master CPU do?
   A. Every CPU runs the OS equally
   B. Only slave CPUs run the OS
   C. Runs the OS and schedules the slave CPUs
   D. It runs no processes
   Answer: C. In symmetric (SMP) all CPUs run the OS. (Key point: Multiprocessing models)

3. Which are real-time scheduling algorithms?
   A. First-Come-First-Served and Round Robin only
   B. Banker's and FIFO page replacement
   C. Elevator and SSTF
   D. Rate Monotonic and Earliest Deadline First
   Answer: D. RM and EDF are priority-based preemptive real-time algorithms. (Key point: Real-time scheduling)

4. How is a distributed OS different from multiprocessor?
   A. Loosely coupled computers, each with own memory and clock, over a network
   B. Tightly coupled CPUs sharing memory and bus
   C. A single CPU with many users
   D. A single job at a time
   Answer: A. Multiprocessor is tightly coupled; distributed is loosely coupled. (Key point: Distributed coupling)

## Related in Operating System

- [Preemptive vs non-preemptive; real-time scheduling](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Apreemptive-nonpreemptive-realtime) — Operating System, chapter 2
- [Rate Monotonic real-time schedule](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Arate-monotonic-schedule) — Operating System, chapter 2
- [Real-time scheduling; two-processor numerical](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Arealtime-two-processor-fcfs-sjf-priority-rr) — Operating System, chapter 2
- [OS abstraction, extended machine, system call](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Aos-abstraction-system-call) — Operating System, chapter 1
- [pipe(); semaphore in distributed systems](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Apipe-semaphore-distributed) — Operating System, chapter 3
- [Supervisor call; batch, RT, time sharing](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Asupervisor-call-os-types) — Operating System, chapter 1

## Related in other subjects

- [Real-time system and real-time OS components](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Areal-time-os) — Software Engineering, chapter 4
- [Real-time versus ordinary software and OS; data acquisition](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Areal-time-vs-non-real-time) — Software Engineering, chapter 4
- [General OS versus real-time OS](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Ageneral-os-vs-rtos) — Software Engineering, chapter 4
- [Context switching; distributed vs network OS](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Acontext-switch-dos) — Distributed System, chapter 3
