Toggle Home compiler design algorithms data structure operating system software engineering C java OOP

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.