What allows parts of multiple programs to reside in memory simultaneously?
In this article, you will learn about the multiprogramming operating system, its working, advantages, and disadvantages. Show
What is the Multiprogramming Operating System?A multiprogramming operating system may run many programs on a single processor computer. If one program must wait for an input/output transfer in a multiprogramming operating system, the other programs are ready to use the CPU. As a result, various jobs may share CPU time. However, the execution of their jobs is not defined to be at the same time period. When a program is being performed, it is known as a "Task", "Process", and "Job". Concurrent program executions improve system resource consumption and throughput as compared to serial and batch processing systems. The primary goal of multiprogramming is to manage the entire system's resources. The key components of a multiprogramming system are the file system, command processor, transient area, and I/O control system. As a result, multiprogramming operating systems are designed to store different programs based on sub-segmenting parts of the transient area. The resource management routines are linked with the operating system core functions. Types of the Multiprogramming Operating SystemThere are mainly two types of multiprogramming operating systems. These are as follows:
Multitasking Operating SystemA multitasking operating system enables the execution of two or more programs at the same time. The operating system accomplishes this by shifting each program into and out of memory one at a time. When a program is switched out of memory, it is temporarily saved on disk until it is required again. Multiuser Operating SystemA multiuser operating system allows many users to share processing time on a powerful central computer from different terminals. The operating system accomplishes this by rapidly switching between terminals, each of which receives a limited amount of processor time on the central computer. The operating system changes among terminals so quickly that each user seems to have continuous access to the central computer. If there are many users on a system like this, the time it takes the central computer to reply can become more obvious. Working of the Multiprogramming Operating SystemMultiple users can accomplish their jobs simultaneously in the multiprogramming system, and it can be stored in the main memory. When one program is engaged in I/O operations, the CPU may deliver time to various programs while sitting in idle mode. When one application is waiting for an I/O transfer, another is ready to use the processor at all times, and numerous programs may share CPU time. All jobs are not run simultaneously, but there could be numerous jobs running on the processor at the same time, and parts of other processes being executed first, then another segment, etc. As a result, the overall goal of a multiprogramming system is to keep the CPU busy until some tasks are available in the job pool. Thus, the numerous programs can run on a single processor computer, and the CPU is never idle. Examples of Multiprogramming Operating SystemThere are various examples of multiprogramming operating systems, including download apps, transfer data, MS-Excel, Google Chrome, Firefox browser, and many more apps. Other examples are Windows O/S, UNIX O/S, Microcomputers such as XENIX, MP/M, and ESQview. Advantages and Disadvantages of Multiprogramming Operating SystemThere are various advantages and disadvantages of the multiprogramming operating system. Some of the advantages and disadvantages are as follows: AdvantagesThere are various advantages of the multiprogramming operating system. Some of the advantages are as follows:
DisadvantagesThere are various disadvantages of the multiprogramming operating system. Some of the disadvantages are as follows: Following are the different properties of an Operating System. This tutorial will explain these properties in detail one by one:
Batch processingBatch processing is a technique in which an Operating System collects the programs and data together in a batch before processing starts. An operating system does the following activities related to batch processing −
Advantages
Disadvantages
MultitaskingMultitasking is when multiple jobs are executed by the CPU simultaneously by switching between them. Switches occur so frequently that the users may interact with each program while it is running. An OS does the following activities related to multitasking −
MultiprogrammingSharing the processor, when two or more programs reside in memory at the same time, is referred as multiprogramming. Multiprogramming assumes a single shared processor. Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one to execute. The following figure shows the memory layout for a multiprogramming system. An OS does the following activities related to multiprogramming.
Advantages
Disadvantages
InteractivityInteractivity refers to the ability of users to interact with a computer system. An Operating system does the following activities related to interactivity −
The response time of the OS needs to be short, since the user submits and waits for the result. Real Time SystemReal-time systems are usually dedicated, embedded systems. An operating system does the following activities related to real-time system activity.
Distributed EnvironmentA distributed environment refers to multiple independent CPUs or processors in a computer system. An operating system does the following activities related to distributed environment −
SpoolingSpooling is an acronym for simultaneous peripheral operations on line. Spooling refers to putting data of various I/O jobs in a buffer. This buffer is a special area in memory or hard disk which is accessible to I/O devices. An operating system does the following activities related to distributed environment −
|