Multitasking Operating System
Multitasking Operating System
- Technically, multitasking is same as multiprogramming.
- In a multitasking operating system, a single user can execute multiple programs at the same time.
- We can also say, multitasking is the system’s capability to work on more than one job or process at the same time. It means that whenever a job needs to perform I/O operations, the CPU can be used for executing some other job or process that is also residing in the system and is ready to use the CPU.
- The term multiprogramming is used for multi-user systems i.e., systems that are simultaneously used by many users such as mainframe and server class system and the term multitasking is used for single user system i.e., systems that are used by only one user at a time such as a personal computer or a notebook computer.
- Thus multitasking is the method of processing the multiple tasks concurrently in a single user system.
For example, a user is running separate program in four different windows at the same time. The program in window1 could be printing a document, the program in window 2 could be displaying an e-mail of user, a spreadsheet program in window 3 could be preparing sales report and compilation of a program is in progress in window 4. In this manner, a user may work on many tasks at the same time. Thus, progress of different tasks can be viewed on different windows in a multitasking system.
- There are two types of multitasking:
- Cooperative Multitasking Operating System
- Pre-emptive Multitasking Operating System
1. Cooperative multitasking:
In cooperative multitasking, a program can acquire the CPU for the required amount of time. A program can share CPU with any other program that is executing simultaneously, if it does not currently require the CPU Microsoft windows 3.x and MultiFinder for Macintosh computers are the examples of cooperative multitasking.
2. Preemptive multitasking:
In preemptive multitasking the operating system allocates particular time to a program. The CPU preempted if a higher priority job arrives in a system. In this type of multitasking, programs forced to share the CPU whether they want to use it or not. UNIX, Windows NT and later versions Mac OS are the examples of preemptive multitasking.
Pingback: Virtual Memory - Advantages and disadvantages »