UniProgramming MultiProgramming and TimeSharing

Operating Systems

Difference between UniProgramming MultiProgramming and Timesharing

All the terms are individually defined and then the difference between UniProgramming MultiProgramming and TimeSharing is highlighted.

Uni Programming:

Uniprogramming is a term used for those computers which can have only a single task/job in the main memory at a time. It means that only one program can be stored in main memory of the computer. It was used in old mobiles, computers and electric devices.
In old operating systems only one program can be executed at a time. Either one of the browser or calculators run at a time.

Some characteristics of Uni programming are:
1. Allows only one program to be executed at a time.
2. Size of the memory is small since only one program is executed at a time.
3. Since only one program can be executed at a time so it has only one pipeline…if any.

Uni programming systems have following parts:

  1. Heap
    2. Stack
    3. Data
    4. CodeMerits of Uni programming system:
  • Serial Processing:
    • No operating System.
    • Schedule time.
    • Run smoothly since only one task is running at a time.
    • Fixed time partition is used.
    • Slow processors can be used.


  • Simple Batch system: 
    • Controls the sequence of events.
    • Batches jobs together.
    • Program branches back to monitor after completion.


  • Control Language:


  • Special type of programming language.
  • Provides instructions to the monitor.



Multiprogramming is the ability of an operating system to execute more than one program at a time on a single processor machine. Several programs can reside in the main memory of machine at a time. For example; A computer running excel and word simultaneously.


It is a parallel processing in which multiple tasks run simultaneously.

  • Allocates more than one concurrent program to main memory and its resources.
  • Allows using CPU more effectively by allowing various users to use CPU and I/O devices.
  • It assures that CPU is always working, thus increasing CPU utilization.

In multiprogramming system, when one program is waiting for transfer of control, another program is ready to utilize the CPU. In that way several jobs are able to share the time of CPU. Only one program at a time is loaded in the main memory which is executed while all others are waiting for their turn. The main ambition is to maximize the use of CPU time. For example, operating systems like Windows XP and Windows 7,8,10.


Following are the merits of multiprogramming systems;


  • Increased utilization of CPU
  • Increased throughput.
  • Multiple users at a time.
  • Shorter turnaround time.
  • Improved utilization of memory.
  • Increased resources utilization.


Time Sharing:

Time sharing is a technique to share computing resources among many users at the same time by means of multiprogramming and multitasking. It allows many users to share computer resources simultaneously. For example, A mainframe computer which is connected to many users logged on to it.


Advantages of Time sharing:

  • Provides the advantage of quick response.
  • Avoids the duplication of software.
  • Reduces idle time for CPU.


Disadvantages of Time sharing:

  • Reliability problems.
  • Questioning security and integrity of user programs.
  • Data communication problem occurs.



Difference between UniProgramming, MultiProgramming and TimeSharing is described briefly in the following table:


Uni ProgrammingMulti ProgrammingTime Schedule
Processor must wait for I/O instruction to complete before precedingWhen one job needs to wait for I/O, the processor can switch to the other job


Uses multiprogramming to handle multiple interactive jobs.
Only one user at a time can consume processor’s time.Processor’s time is utilized by only one processor while others wait.Processor’s time is shared among multiple users.
Have small size of memory.Have large size of memory to store multiple programs.Users use resources of the machine.
CPU is idle after completion of a program.è Organizes jobs so that CPU always has one to execute.Each user has at least one program executing in its memory.
Does not utilize CPU effectively. Utilizes CPU effectively by allowing several programs to use the CPU at the same time.Shares computer facility by several users that want to use the same facility at a time.
Concept of context switching is not applicable.Context switching is done to allow another program to run.Different users are executing different programs, context switching is not used.


Process Models


Uni Programming:




Multi Programming:





Time Sharing:




For more on Operating Systems, visit this link.

Was this helpful?

2 / 0

Leave a Reply 0

Your email address will not be published. Required fields are marked *