Multiprogramming
|
Multitasking
|
Multithreading
|
Multiprocessing
|
In multiprogramming, multiple programs execute at the same time on a single device.
|
In Multitasking, a single resource is used to process multiple tasks.
|
Multithreading is a process divided into a number of sub-processes called threads. Each thread is independent and has its own path of execution with enabled inter-thread. Communication.
|
In multiprocessing, multiple processing units are used by a single device.
|
The process resides in the main memory.
|
The process resides in the same CPU.
|
More than one thread processed on a single CPU
|
The process switches from one to another CPU as multiple processing units are used |
Number of CPU uses one
|
Number of CPU uses one
|
The number of CPU Can be one or more than one
|
Number of CPU uses more than one
|
One process is executed at a time.
|
One by one job is being executed at a time.
|
Various components of the same process are being executed at a time.
|
More than one process can be executed at a time
|
Throughput is less. |
Throughput is moderate.
|
Throughput is moderate.
|
Throughput is maximum.
|
Category wise it is not further divided
|
It is divided into Single User & Multiuser. |
Category wise it is not further divided
|
It is divided in Symmetric & Asymmetric category |
It uses batch OS. The CPU is utilized completely while executing.
|
It is time-sharing as the task assigned switches regularly.
|
The tasks are always further divided into sub-tasks.
|
It carries multiple processors to execute the task.
|
The processing is slower, as a single job resides in the main memory while executing.
|
Multitasking follows the concept of context switching.
|
It allows a single process to get multiple code segments.
|
A large amount of work can be done in a short period of time.
|