- 2074 Bhadra · 6 marks
- Year not given
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)
Related questions
- Preemptive vs non-preemptive; real-time scheduling · Operating System, chapter 2
- Rate Monotonic real-time schedule · Operating System, chapter 2
- Real-time scheduling; two-processor numerical · Operating System, chapter 2
- OS abstraction, extended machine, system call · Operating System, chapter 1
- pipe(); semaphore in distributed systems · Operating System, chapter 3
- Supervisor call; batch, RT, time sharing · Operating System, chapter 1
- Real-time system and real-time OS components · Software Engineering, chapter 4
- Real-time versus ordinary software and OS; data acquisition · Software Engineering, chapter 4
- General OS versus real-time OS · Software Engineering, chapter 4
- Context switching; distributed vs network OS · Distributed System, chapter 3