Multiprogramming in Operating System (original) (raw)

Last Updated : 29 Jul, 2025

As the name suggests, Multiprogramming means more than one program can be active at the same time. Before the operating system concept, only one program was to be loaded at a time and run. These systems were not efficient as the CPU was not used efficiently.

**Example: In a single-tasking system, the CPU is not used if the current program waits for some input/output to finish. The idea of multiprogramming is to assign CPUs to other processes while the current process might not be finished. This has the below advantages:

All modern operating systems like MS Windows, Linux, etc are multiprogramming operating systems.

Types-of-OS-03-660

Multiprogramming OS

**Features of Multiprogramming

**Disadvantages of Multiprogramming

**How do Multiprogramming Operating Systems Work?

In multiprogramming system, multiple programs are to be stored in memory and each program has to be given a specific portion of memory which is known as process. The operating system handles all these process and their states. Below are the steps occur when the process undergoes execution:

Multiprogramming-in-OS

Working of Multi-Programming

Advantages of Multiprogramming

Difference Between Multiprogramming and Multi-tasking Operating Systems

Multiprogramming Multi-tasking
Involves loading multiple programs into the computer's memory and allowing them to share the CPU. The CPU switches between programs, especially when one is waiting for I/O operations to complete. Refers to the ability of an operating system to execute multiple tasks (or processes) simultaneously by rapidly switching between them.
The main goal is to increase CPU utilization by reducing idle time. The primary goal is to improve user responsiveness and allow for interactive computing
It does not involve direct user interaction. Designed with user interaction, allowing users to run multiple applications (e.g., word processors, web browsers, etc.) simultaneously
Less complex than multitasking. It focuses on keeping the CPU busy by running one program at a time until it needs to wait for an I/O operation. More complex one. It requires more sophisticated scheduling algorithms and resource management to handle multiple tasks, user inputs, and ensure a smooth experience.
There will be no effect of Parallelism. It will give rise to concept of Parallelism
Used in environments where resource utilization is more critical, such as batch processing, and where tasks are long-running. Used in interactive environments where multiple applications need to be run concurrently, particularly in desktop and mobile operating systems.

Examples of Multiprogramming Operating Systems

Some examples of multiprogramming operating systems that have been widely used across different computing environments: