Javatpoint Logo
Javatpoint Logo

Multiprogramming vs. Time Sharing Operating System

Multiprogramming is the allocation of more than one concurrent program on a computer system and its resources. Multiprogramming allows using the CPU effectively by allowing various users to use the CPU and I/O devices effectively. Multiprogramming makes sure that the CPU always has something to execute, thus increases the CPU utilization.

On the other hand, Time sharing is the sharing of computing resources among several users simultaneously. Since this will allow many users to work in a single computer system simultaneously, it would lower the cost of providing computing capabilities.

Multiprogramming Operating System

Multiprogramming is the fast switching of the CPU between several programs. A program is generally made up of several tasks. A task ends with some request to move data which would require some I/O operations to be executed. Multitasking is commonly used to keep the CPU busy while the currently running program is doing I/O operations. Compared to other executing instructions, I/O operations are extremely slow.

Multiprogramming vs. Time Sharing Operating System

Even if a program contains a very small number of I/O operations, most of the time taken for the program is spent on those I/O operations. Therefore, using this idle time and allowing another program to utilize the CPU will increase the CPU utilization. Multiprogramming was initially developed in the late 1950s as a feature of operating systems and was first used in mainframe computing. With the introduction of virtual memory and virtual machine technologies, the use of multiprogramming was enhanced. It has no fixed time slice for processes. Its main purpose is resource utilization.

Advantages of Multiprogramming OS

Multiprogramming operating system has the following advantages:

  • No CPU idle time
  • Multiprogramming system can monitor fastest as entire tasks run in parallel.
  • Shorter response time
  • Maximizes total job throughput of a computer
  • Increases resource utilization

Disadvantages of Multiprogramming OS

Here are some disadvantages of multiprogramming operating system:

  • Sometimes long time jobs have to wait a long time
  • Tracking of all processes is sometimes difficult
  • Requires CPU scheduling
  • Requires efficient memory management
  • No user interaction with any program during execution

Time-Sharing Operating System

Time-sharing is a technique that enables many people located at various terminals to use a particular computer system simultaneously. Time-Sharing is the logical extension of multiprogramming. In this time-sharing Operating system, many processes are allocated with computer resources in respective time slots. In this, the processor's time is shared with multiple users. That's why it is called a time-sharing operating system. It has a fixed time slice for the different processes. Its main purpose is interactive response time.

Multiprogramming vs. Time Sharing Operating System

The CPU executes multiple jobs by switching between them, but the switches occur so frequently. Thus, the user can receive an immediate response. The operating system uses CPU scheduling and multiprogramming to provide each user with a small amount of time. Computer systems that were designed primarily as batch systems have been modified to time-sharing systems.

The main difference between Multi programmed Batch Systems, and Time-Sharing Systems is that in multiprogrammed batch systems, the objective is to maximize processor use. In contrast, in Time-Sharing Systems, the objective is to minimize response time.

Features of Time-Sharing OS

Time-sharing OS provides the following features for users:

  • Each user grabs dedicated time for all operations.
  • Multiple online users can use the same computer at the same time.
  • End-users feel that they monopolize the computer system.
  • Better interaction between users and computers.
  • User requests can make in small-time responses.
  • It does not need longer have to wait for the last task to end to get processor.
  • It can make quick processing with a lot of tasks.

Advantages of Time-Sharing OS

The time-sharing operating system has the following advantages:

  • It provides a quick response
  • Reduces CPU idle time
  • All the tasks are given a specific time
  • Less probability of duplication of software
  • Improves response time
  • Easy to use and user friendly

Disadvantages of Time-Sharing OS

Below are some disadvantages of the time-sharing operating system, such as:

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

Difference between Multiprogramming and Time-Sharing System

In multi-programming, more than one process can reside in the main memory at a time. Thus, when one process goes for I/O operation, the CPU is not waiting and allocated to another process. This keeps the CPU busy at all times.

Multiprogramming vs. Time Sharing Operating System

The concept of time-sharing overcomes the problem of no user interaction. A Time-sharing system requires that each user be provided with an input device (keyboard or mouse) and an output device (monitor) to interact with the system. In time-sharing, multiple jobs are executed simultaneously, and the CPU switches among them frequently so that each user can interact with each program while it is running. It decreases the system's response time for each user process and gives each user the illusion that the CPU is working slowly.

The main difference between multiprogramming and time-sharing is that multiprogramming effectively utilizes CPU time by allowing several programs to use the CPU simultaneously. But time-sharing is sharing a computing facility by several users who want to use the same facility simultaneously. Each user on a time-sharing system gets their own terminal and feels like using the CPU alone. Time-sharing systems use the concept of multiprogramming to share the CPU time between multiple users at the same time. Below are some more differences between multiprogramming system and time-sharing system, such as:

Multiprogramming System Time-Sharing System
Multiprogramming operating system allows executing multiple processes by monitoring their process states and switching between processes. Time-Sharing is the logical extension of multiprogramming. In this time-sharing Operating system, many users/processes are allocated with computer resources in respective time slots.
The processor and memory underutilization problem is resolved, and multiple programs run on the CPU. That's why it is called multiprogramming. The processor's time is shared with multiple users. That's why it is called a time-sharing operating system.
In multiprogramming, the process can be executed by a single processor. In this process, two or more users can use a processor in their terminal.
Multiprogramming OS has no fixed time slice. Time-sharing OS has a fixed time slice.
In a multiprogramming OS system, before finishing a task, the executive power is not taken off. In a time-sharing OS system, executive power is taken off before finishing execution.
Here the system does not take some time to work on different processes. Here the system works for the same or less time on each process.
In Multiprogramming OS, the system depends on devices to switch between tasks such as I/O interrupts. In time-sharing, the OS system depends on time to switch between different processes.
The system model of a multiprogramming system is multiple programs. A system model of the time-sharing system is multiple programs and multiple users.
Multiprogramming system maximizes response time. The Time-sharing system maximizes response time.
Example: Mac OS, Window OS, microcomputers such as MP/M, XENIX, and ESQview Example: Windows NT server, Unix, Linux, Multics, TOPS-10, TOPS-20

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA