/    /  OS – Multi programming vs processing

Multiprogramming vs Multiprocessing

 

What is Multiprogramming?

 

Multiprogramming can be defined as the ability of an operating system to run multiple programs on a single processor machine at the same time.

 

The main objectives of multiprogramming are:

  • Efficient management of the main memory.
  • Maximum utilization of the CPU.

 

The main components of the multiprogramming system are the file system, command processor, I\O control system, transient area, and command processor.

 

What is Multiprocessing?

 

Multiprocessing refers to the ability of a system to support more than one processor at the same time.

The main objective of multiprocessing is to increase the execution speed of the system & also increases CPU utilization.

 

The main components of a multiprocessing system are the CPU, input/output processors, input\output devices, and the memory unit.

 

Multiprogramming vs Multiprocessing?

 

MultiprogrammingMultiprocessing
Multiple programs are run simultaneously in the main memory.Multiple sets of instructions can be run simultaneously on different processors of a system. 
There are no further divisions of multiprogramming.Multiprocessing can be divided into Symmetric and Asymmetric.
There is only one CPU.More than one CPU is used.
One process is executed at a time.Multiple processes are executed at a time.
Multiprogramming is economical.Multiprocessing is comparatively less economical.
One user can use it at a time.Numerous users can use it at a time.
More time is taken in job processing.Job processing takes less time. 
Throughput is less.Throughput is maximum.

 

Reference:

Operating system Mutli processing vs programming.