Table of content:
- Need of Multi Programming
- Advantages of Multi Programming OS
- Disadvantages of Multi Programming OS
- What is Multitasking?
- Advantages of Multitasking
- Disadvantages of Multitasking
- Multiprogramming Vs Multitasking
An operating system is the most important software that controls computer hardware and other software programs. The user cannot execute commands directly from the CPU in machine language, and the CPU cannot communicate directly with the user. As a result, the operating system is required to communicate between the user and the CPU.
The operating system act as a middle man that translates all interaction between user and CPU. In simple words, it is the heart of our computer and not only manages the basic tasks such as managing peripheral devices, displaying screens, and tracking data and files but also performs advanced functions such as multiprogramming and multi-tasking.
Multiprogramming is the ability of more than one user to operate a computer while using a single CPU. The idea is to successfully use the processor to create multiple ready-to-run functions with each function belonging to the different users. Multitasking means simultaneous implementation of multiple processes per user on the same computer using multiple CPUs.
Need of Multi Programming
In a modern computer system, there are usually multiple programs waiting at a time that want to get executed. It is now the responsibility of our modern operating system to manage all processes efficiently and effectively. These processes are also known as functions. Therefore one of the most important features of the Operating System is to perform multiple programs. Now the main memory is too small to carry all these processes or functions in it. Thus, these processes are initially stored in an area called the job pool. This workspace contains all those processes that anticipate the allocation of core memory and CPU.
Working of a Multi-programmed System
In a multi-programmed system, the CPU selects a function from all the waiting functions and starts performing it and when the process needs to wait for any IO operation then the CPU switches to another process and starts executing it. It is also known as the concept of context switching. Therefore, this keeps the CPU busy and active all the time and reduces CPU idle time. It can be done with slower CPU processing. It requires a small amount of memory (RAM or ROM) to operate.
The multiprogramming objective is to allow more processes to run at the same time and keep the CPU busy for as long as possible and simply focus on maximizing CPU utilization or CPU time.
Advantages of Multi Programming Operating System
- High CPU utilization.
- Shorter Response Time.
- Shorter Waiting Time.
- Increased Throughput.
- It may be extended to multiple users.
- It has the ability to assign priority to different processes.
Disadvantages of Multiprogramming Operating System
- Scheduling implementation is not easy.
- Memory management is necessary because all types of functions are stored in the main memory.
- It must keep track of all kinds of processes it is concurrently running.
What is Multitasking?
Multitasking is quite similar to multiprogramming but in this CPU is allocated to process for fixed timing that is ‘Time Quantum / Time Slice’ after that CPU ‘Context Switch’ to another process. It basically a logical extension of multiprogramming.
Thus, we can say that in a multitasking operating system, each process is executed for a fixed period of time and after that time CPU is switched to another process. This fixed time is called time quantum. The switching between processes is so fast that it gives an illusion to the user that all the processes are running at the same time but actually it doesn’t happen. Multitasking operating systems are also known as time-sharing operating systems.
For instance, you are using your computer and listening to songs and at the same time, you are scrolling Instagram feeds and chatting on WhatsApp web. It seems to you like all the tasks are happening at the same time but actually, they are not. It’s the processor switching between different jobs in such a fast manner that we think that they are happening at the same time.
Objective of Multitasking
The main objective of multitasking is to reduce the response time of the system and to support user interaction with the system.
Advantages of Multitasking Operating System
- It has a shorter response time as compared to Multi Programming system.
- It can handle multiple users concurrently, and several programs can run smoothly without affecting the system’s performance.
- Users can use multiple applications such as Internet browser, PowerPoint, MS Excel, games, and other resources at once.
- It allows multiple users to share common resources concurrently.
- It provides logical parallelism.
Disadvantages of Multitasking Operating System
- It is complex to implement.
- It can’t be executed on a slow-speed processor.
Multiprogramming Vs Multitasking
Sr.No Multiprogramming Multitasking
- In a multiprogramming operating system, multiple processes can run at the same time on a single processor. It’s a logical extension of multiprogramming and also supports user interaction.
- It uses the concept of context switching. It uses the concept of time-sharing and context switching.
- The main objective is to improve CPU utilization. The main objective is to minimize response time.
- Switching occurs when the currently running process stops. Switching occurs at each time after the time slice of the current process is finished.
- It can be performed on a low RAM or ROM memory and hence does not require large storage memory to function. In this, memory storage is large so as to carry out all the tasks or processes at the same time.
In short, both of these terms are often used collectively to represent the modern operating system but have different purposes and functions. While a Multi Programming system operating system allows more than one system to run simultaneously using a single processor, a Multi-Tasking operating system allows multiple processes or tasks to be performed simultaneously using multiple CPUs.
Multi Programming is bringing multiple processes in the main memory and then executing it one after the other on a single processor. While on the other hand Multitasking operating system executes more than one process at the same time utilizing multiple CPUs on the same computer. Multi Programming uses the concept of context switching and tries to attain maximum CPU utilization while Multitasking uses the concept of time-sharing and provides a high degree of parallelism.
So to conclude we can say that multitasking can be considered as multiprogramming, however, vice versa is not true.
You might also be interested in reading: