Code360 powered by Coding Ninjas X Code360 powered by Coding Ninjas X
Table of contents
Multiprogramming Operating System
Examples of Multiprogramming Operating System
Time-Sharing Operating System
Examples of Time-Sharing Operating System
Difference between Multiprogramming and Time-Sharing Operating System 
Frequently Asked Questions
What is the objective of multiprogramming?
What is the common utility between Multiprogramming and Time Sharing OS? 
What circumstances would a user be better off using a time-sharing system, rather than a personal computer or single-user workstation? 
What are the similarities between multiprogramming and Multitasking?
Is time-sharing possible without interrupts?
Last Updated: Mar 27, 2024

Multiprogramming vs. Time Sharing Operating System

Author Aditya Singh
0 upvote
Roadmap to SDE career at Amazon
Anubhav Sinha
SDE-2 @
25 Jun, 2024 @ 01:30 PM
Operating System


Multiprogramming OS refers to an operating system's capacity to run many programs on a single processor computer. At any given time, the main memory contains more than one task, program, or job. The allocation of multiple concurrent programs on a computer system and its resources is known as multiprogramming. Multiprogramming enables efficient CPU use by allowing multiple users to access the CPU and I/O devices.

illustration Image

Multiple users can share computers at the same time with a Time Shared operating system. Each operation or order reduces the size of the shared system, using only a minimal amount of CPU time for each user. Time-Sharing is the simultaneous sharing of computing resources by several users. This will reduce the cost of delivering computing capabilities by allowing multiple people to operate simultaneously on a single computer system.

In this article, we are going to look at the differences between Multiprogramming OS and Time Sharing Operating System in detail.

So, let’s get started: 

Also see: Multiprogramming vs Multitasking and  Open Source Operating System

Multiprogramming Operating System

On a single CPU, a Multiprogramming Operating System runs numerous programs. Other applications use the CPU while a program waits for an I/O operation to complete. These operating systems are a significant and widely used group of operating systems.

Given below is a simple diagram to understand the working of the Multiprogramming operating system. 

Illustration Image

A program usually consists of numerous tasks. In the above, a job concludes with a request to relocate data, which necessitates executing some I/O operations. Multitasking keeps the CPU busy while the current program performs I/O activities.

Examples of Multiprogramming Operating System

  • Linux distributions, Windows, macOS, and other desktop operating systems.  These are modern operating systems that use a variety of multiprogramming principles. On a system running one of these (or more) operating systems, a user can perform many jobs at the same time. Many games, for example, are optimized for a single processing core.
  • You can listen to music while sending and receiving text messages on Android, iOS, and other mobile operating systems.
  • Office, popular web browsers, media players, and other application software, by launching as many windows/tabs as needed, every modern web browser allows users to surf many websites simultaneously.


  • At any given time, the operating system retains many jobs in memory.
  • One of the jobs in memory is selected and executed by the operating system.
  • Multiprogramming operating systems use memory management programs to keep track of all active programs and system resources, ensuring that the CPU is never idle unless there are no jobs to execute.


  • There is no CPU idle time.
  • Because all tasks execute in parallel, a multiprogramming system can monitor more quickly.
  • Response time is reduced.
  • Increases a computer's total job throughput.
  • Improves resource efficiency


  • Long-term occupations may need a lengthy wait.
  • It can be tough to keep track of all processes.
  • CPU scheduling is required, as is effective memory management.
  • During execution, there is no user interaction with any program.

Also, see Multiprogramming v/s Multitasking.

Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job

Time-Sharing Operating System

Time-sharing is a method of allowing multiple individuals at different terminals to access the same computer system simultaneously. Many processes are assigned to computer resources in time slots in this time-sharing Operating system. The processor's time is split among numerous users. It's dubbed a time-sharing operating system for this reason. The individual processes have a set time slice. Its primary goal is to improve interactive reaction time.

Active State: The user's program takes control of the CPU, and there is only one program in this state.

Ready State: The user's software is ready to run, but it is waiting for its turn to receive the CPU; nevertheless, numerous users can be ready simultaneously.

Waiting State: In this case, the user's program will have to wait for a few I/O operations. Multiple users can be in a waiting position at the same time.

Illustration Image

In the above diagram, User B is in the active state whereas  User A, User E, and User D are in the waiting state and User C is in the ready state.

When a user's time slice is complete, it transmits control to a subsequent user, such as user C, for a ready state. This procedure continues in the same manner, and so on.

What is bios

Examples of Time-Sharing Operating System

  • UNIX
  • Multics
  • Linux
  • Windows 2000 server
  • Windows NT server


  • For all operations, each user sets aside time for all operations.
  • At the same time, multiple online users can utilize the same computer.
  • End users believe they have complete control over the computer system.
  • Interaction between users and computers is improved.
  • User inquiries can result in quick responses.
  • It is no longer necessary to wait for the previous task to complete before using the processor.
  • It can do a large number of jobs quickly.


  • It has a quick response time.
  • CPU idle time is reduced.
  • Each task is assigned a specific time limit.
  • Reduced likelihood of program duplication improves reaction speed.
  • User-friendly and simple to use.

    Must Read Topic: Advantages of Operating System


  • It consumes many resources.
  • Requires high specification of hardware.
  • It has a problem with reliability.
  • An issue with the security and integrity of user programs and data.
  • Probability of data communication problem.

Difference between Multiprogramming and Time-Sharing Operating System 

We have seen a Multiprogramming System and a Time-Sharing System. Their Advantages and Disadvantages along with their features. 

The primary distinction between multiprogramming and time-sharing is that multiprogramming makes better use of CPU time by allowing multiple applications to run at the same time. However, time-sharing refers to the usage of a computing facility by multiple users who desire to use it at the same time. Each user on a time-sharing system gets their own terminal and feels like using the CPU alone. Multiprogramming is used in time-sharing systems to split CPU time among numerous users at the same time.

Now we will read for differences between them in the given below table:

Multiprogramming System

Time-Sharing System

A multiprogramming operating system allows you to run numerous processes simultaneously by monitoring their states and switching between them. Time sharing is the logical expansion of multiprogramming. In this time-share operating system, many users/processes are assigned with IT resources in different time slots.
The problem of underutilization of the processor and memory has been remedied, and the CPU can now run numerous programs. This is why it's known as multiprogramming. The processor's time is divided among several users. It's dubbed a time-sharing operating system for this reason.
A single processor can run the process in multiprogramming. Two or more users can use a CPU in their terminal in this operation.
There is no set time slice in a multiprogramming OS.

A fixed time slice exists in a time-sharing OS.


The executive power in a multiprogramming OS system is not delegated before a task is completed. Executive power is switched off in a time-sharing OS system before execution is completed.
The system does not waste time working on many processes here. Each process takes the same amount of time or less time here.
The system relies on devices to switch between activities in Multiprogramming OS, such as I/O interrupts. The operating system uses the time to transition between processes in time-sharing.
Multiple programs are the system model of a multiprogramming system. Multiple programs and users are part of the time-sharing system's system model.
The multiprogramming system maximizes Response time. The system of time-sharing maximizes Response time.
Mac OS, Windows OS, and microcomputers like MP/M, XENIX, and ESQview are just a few examples. Windows NT server, Unix, Linux, Multics, TOPS-10, and TOPS-20 are some examples.

Also see, AMD vs Intel

Frequently Asked Questions

What is the objective of multiprogramming?

Multiprogramming has the goal of increasing CPU utilization. When CPU or I/O is available, another process can use it. By storing numerous programms in a ready queue, multiprogramming provides this capability to the operating system.

What is the common utility between Multiprogramming and Time Sharing OS? 

Multi-programmed operating systems are less complicated than time-shared operating systems. Multiple jobs must be held in memory at the same time in both cases. Time-Sharing is a logical extension of multiprogramming; under this operating system, several users/processes are assigned computer resources in time slots. Because the processor's time is shared across several users, it is referred to as a time-sharing operating system. As a result, memory management and security are required in the system.

What circumstances would a user be better off using a time-sharing system, rather than a personal computer or single-user workstation? 

Time-sharing are useful when there are few other users, the work/task is huge, and the hardware is fast. In these situations the system's full power can be used to solve the user's problem. The problem can be solved more quickly than on a computer. Another scenario is when multiple users require resources at the same time. A personal computer is best for jobs that are small enough to be done quickly on it and have enough processing power to complete the software to the user's satisfaction.

What are the similarities between multiprogramming and Multitasking?

Multitasking is similar to multiprogramming in that the CPU is dedicated to a given activity for a set period of time. It uses many CPUs on the same machine to run multiple programs simultaneously.

Is time-sharing possible without interrupts?

Multiprogramming and time-sharing would be hard to implement without interrupts. A busy wait would be needed so that one job could not run while another was waiting for I/O. Time slices cannot be formed to divide the CPU among jobs without a timer interrupt. Interrupts must be coordinated with one another.

 You can also read about  - Memory hierarchy in computer network


In this article, we discussed the definition of Multiprogramming and Time Sharing Operating Systems. We have also looked at at the advantages and disadvantages. At last, we discussed major differences between Multiprogramming Systems and Time-Sharing Operating Systems.

Recommended Readings: 

Do check out The Interview guide for Product Based Companies as well as some of the Popular Interview Problems from Top companies like Amazon, Adobe, Google, Uber, Microsoft, etc. on Coding Ninjas Studio.

You can also consider our Operating System Course to give your career an edge over others.

Please upvote our blog to help other ninjas grow.

Happy Learning!

Previous article
Difference Between Firmware and Operating System
Next article
Difference Between Multitasking and Multiprocessing
Live masterclass