what is Multitasking?
Multi-tasking is the logical extension of multiprogramming. In this system,
the CPU executes multiple jobs by switching among them typically using a
small time quantum, and these switches occur so frequently that the users
can interact with each program while it is running. Multitasking is further
classified into two categories: Single User & Multiuser.
Advantages of Multitasking
● Increased Productivity: Multitasking refers to the ability of a system
to handle several programs at a go improves productivity because it
enables several tasks to proceed concurrently.
● Efficient Use of Resources: It provides efficient utilization of the
CPU by making sure that a situation where the CPU is free and
there are processes to be run does not occur.
● User-Friendly Experience: From a user perspective multitasking
means being able to switch easily between different programs
without having to shut them down or re-open them.
Disadvantages of Multitasking
● Context Switching Overhead: Task switching also introduces
overhead, which hurts the system overall throughput because it has
to load one process out and load in a new one.
● Resource Contention: When multiple tasks are performed
concurrently and use the same resources, the tasks are likely to slow
down because of competition for the resources used.
● Risk of Errors: In some instances, parallel processing can result in
instability such as system crashes or data loss.
What is Multiprocessing?
Multiprocessing is a system that has two or more than two processors. In
this, CPUs are added for increasing computing speed of the system. Because
of Multiprocessing, there are many processes that are executed
simultaneously. Multiprocessing is further classified into two categories:
Symmetric Multiprocessing and Asymmetric Multiprocessing.
Advantages of Multiprocessing
● True Parallelism: Multiprocessing makes multiprocessing possible,
as tasks are executed in parallel across different processors, thus
making task completion faster.
● Increased Reliability: In case one processor fails to work, the other
processors are still able to work and this improves on the fault
tolerance of the system.
● High Performance: Through multiprocessing where there are many
processors performing a single task, systems can support complex
applications and large databases thus increasing system
throughput.
Disadvantages of Multiprocessing
● High Cost: Multiprocessing systems are generally costlier because
of the inclusion of another or other hardware(s) (processors).
● Complexity in System Design: Multiprocessing adds the factor of
synchronization of the processors, load balancing across the
processors and communication between each of the processors.
● Power Consumption: Parallel processing requires multiple
processors to be run simultaneously, thus a disadvantage in the use
of power particularly for portable devices or those that are sensitive
to power consumption.
Difference Between Multitasking and Multiprocessing
Multi-tasking Multiprocessing
The execution of more The availability of more than one
than one task processor per system, that can execute
simultaneously is known several set of instructions in parallel is
as multitasking. known as multiprocessing.
The number of CPU is
The number of CPUs is more than one.
one.
It takes moderate
It takes less time for job processing.
amount of time.
In this, one by one job is
In this, more than one process can be
being executed at a
executed at a time.
time.
It is economical. It is less economical.
The number of users is The number of users is can be one or more
more than one. than one.
Throughput is moderate. Throughput is maximum.
Its efficiency is
Its efficiency is maximum.
moderate.
It is of two types: Single
It is of two types: Symmetric
user multitasking and
Multiprocessing and Asymmetric
Multiple user
Multiprocessing.
multitasking.