Multitasking Operating System
Overview
Multitasking refers to the simultaneous execution of multiple tasks (such as processes, programs, threads, and so on). Multi-tasking allows us to play a game, write code in a code editor, and surf the internet all at the same time on modern operating systems.
Why Multitasking Operating System?
Although multitasking was not completely enabled in early operating systems, they could not run many programs at once. As a result, a single piece of software might use the entire CPU of the computer to complete a task. The user was unable to do other operations, such as opening and shutting windows, because basic operating system capabilities, such as file copying, were disabled. Because modern operating systems provide comprehensive multitasking, multiple programs can run simultaneously without interfering with one another. Furthermore, many operating system processes can operate concurrently.
What is a Multitasking Operating System?
A multitasking operating system is a logical extension of multi-programming. Multitasking operating system varies from multiprogramming in that multi-programming relies simply on the concept of context switching, whereas multitasking operating system incorporates time-sharing as well as context switching.
Types of Multitasking Operating Systems
Multitasking operating systems can be divided into three categories. The following are some examples:
- Preemptive Multitasking
- Cooperative Multitasking
- True Multitasking
1. Preemptive Multitasking:
Preemptive multitasking is a task that a computer operating system is given. It determines how much time one job spends on the operating system before assigning another process to use it. The operating system is referred to as preemptive because it controls the entire operation.
Preemptive multitasking is used in desktop operating systems. Unix was the first operating system to implement this multitasking technique. The first versions of Windows to implement preemptive multitasking were Windows NT and Windows 95. In OS X, proactive multitasking was added to the Macintosh. This operating system notifies the programs when another application is ready to take over the CPU.
2. Cooperative Multitasking:
A cooperative multitasking operating system is referred to as 'Non-Preemptive Multitasking.' The basic goal of cooperative multitasking is to complete the current work while allowing another process to execute. taskYIELD() is used to complete this task. Context-switch is called when the taskYIELD() function is called.
Cooperative multitasking operating system was utilized by Windows and macOS. When a Windows program receives a message, It will do some quick work before handing over the CPU to the operating system until another message arrives. It worked perfectly as long as all of the programs were bug-free and designed with other programs in mind.
3. True Multitasking:
A true multitasking operating system is the ability to execute and process many tasks simultaneously without delay, rather than switching work from one processor to another. A true Multitasking operating system has the ability to conduct several tasks simultaneously while underlying the H/W or S/W.
Advantages of Multitasking Operating System
The following are some of the advantages of a multitasking operating system:
S. No. | Type | Description |
---|---|---|
1 | Time Shareable | All jobs are given a defined amount of time, so they don't have to wait for the CPU. |
2 | Virtual Memory | Multitasking operating systems have the best virtual memory system. Any program does not require a long wait time to perform its tasks because of virtual memory; if this problem arises, those applications are shifted to virtual memory. |
3 | Secured Memory | Multitasking operating systems have well-defined memory management since they do not provide any types of permissions for undecided apps to consume memory. |
4 | Good Reliability | Multiple users are better satisfied with multitasking operating systems because they provide more flexibility. Every user can easily run a single or numerous programs on a multitasking operating system. |
5 | Manage Several Users | This operating system is better adapted to support several users at once, and multiple apps can run simultaneously without slowing down the system. |
6 | Optimize Computer Resources | A multitasking operating system may manage the resources of several computers, including RAM, input/output devices, CPU, hard disc, and so on. |
7 | Background Processing | Background processes can operate more efficiently under a multitasking operating system. Most users are unaware of these background processes, although they aid the smooth operation of other programs such as firewalls, antivirus software, and others. |
8 | Use Multiple Programs | Users can run multiple programs at once, including an internet browser, a code editor, Microsoft Word, Microsoft Excel, PowerPoint, games, and other utilities. |
Disadvantages of Multitasking Operating System
The following are some of the disadvantages of multitasking operating system:
S. No. | Type | Description |
---|---|---|
1 | Processor Boundation | Because of the poor speed of its processors, the system may run applications slowly, and their reaction time may increase when processing many programs. More computing power is necessary to solve the processing foundation challenge. |
2 | CPU Heat up | In a multitasking operating system, the CPU generates more heat since multiple processors are engaged at the same time to execute any task. |
3 | Memory Boundation | The computer's performance may suffer as a result of many programs running at the same time, as the main memory becomes overloaded when multiple programs are loaded. Reaction time grows since the CPU is unable to give distinct times for each program. The usage of low-capacity RAM is the primary cause of this problem. As a result, the RAM capacity can be increased to meet the requirements. |
Examples of Multitasking Operating Systems
Some examples of multitasking operating systems are as follows:
-
Windows XP: Microsoft's Windows NT operating system has been updated with Windows XP. For professional users, it is the immediate successor to Windows 2000, whereas, for residential users, it is Windows Me.
-
Windows Vista: Microsoft's Windows Vista is a version of the Windows NT operating system. It was the direct successor to Windows XP, which had been launched five years prior, marking the longest period between successive Microsoft Windows desktop operating system releases at the time.
-
Windows 7: Windows 7 is the latest version of Microsoft's Windows NT operating system. On July 22, 2009, it was launched to manufacture, and on October 22, 2009, it was made commercially available. It succeeds Windows Vista, which was introduced approximately three years ago.
-
Windows 8: Windows 8 is the latest version of Microsoft's Windows NT operating system.
-
Windows 10: Microsoft's Windows NT operating system has been updated with Windows 10. It's the immediate successor to Windows 8.1, which came out over two years ago.
-
Windows 2000: Microsoft's Windows 2000 is a major release of the Windows NT operating system geared toward enterprises. It was Windows NT 4.0's direct successor.
-
IBM’s OS/390: The IBM operating system for System/390 mainframe systems is OS/390.
-
UNIX: Unix is a multitasking, multiuser computer operating system derived from the original AT&T Unix, which was developed by Ken Thompson, Dennis Ritchie, and others at the Bell Labs research center in 1969.
Conclusion
- Multitasking is the process of performing multiple tasks simultaneously.
- In a multitasking operating system, the CPU switches between many tasks to complete them.
- Isolation and memory protection are provided by multitasking operating systems.
- A multitasking operating system utilizes the concept of many processors.
- A multitasking operating system can run multiple tasks at the same time.
- In a multitasking operating system, context-switching and time-sharing are used.
- CPU idle time is significantly decreased in the multitasking operating system.
- 1 CPU is required in a multitasking operating system.