What is Multi-programming
Definition: In the multi-programming system, one or multiple programs can be loaded into its main memory for getting to execute. It is capable only one program or process to get CPU for executes for their instructions, and other programs wait for getting their turn. Main goal of using of multiprogramming system is overcome issue of under utilization of CPU and primary memory.
Main objective of multiprogramming is to manage entire resources of the system. The primary components of multiprogramming system are command processor, file system, I/O control system, and transient area.
So, multiprogramming operating system is designed based on this principle that sub segmenting parts of transient area to store individual programs, and then resource management routines are attached with basic function of operating system.
Working of Multiprogramming System
In the multiprogramming system, multiple users can perform their tasks concurrently, and it can be stored into main memory. CPU has ability to deliver time to several programs while sitting in idle mode, when one is getting engage along with I/O operations.
When one program is getting to wait for I/O transfer, and another program is always ready to use of processor, and CPU’s time can be shared into various processes.
All jobs are executed at the same time frame is not known as multiprogramming but it can be defined as multiple jobs present for processor and part of other processes are executed then segment of another and so on.
What is Multi-programming Operating System
Definition: Multiprogramming operating system has ability to execute multiple programs with using of only one processor machine.
In multiprogramming operating system, if single program gets to wait for I/O transfer, then other programs are always ready to CPU utilization. Due to this, multiple jobs can share time of its CPU. But, in the multiprogramming operating system, it does not predefine to be execution of their jobs at same time frame.
If, program is in the execution process then it is known as “Process” or “Job” or “Task”. The concurrent executions of programs help to improve performance of system resources utilization as well as improve system throughput than to serial and batch processing system.
Examples of Multiprogramming Operating System
One real life example: User can use MS-Excel, download apps, transfer data from one point to another point, Firefox or Google chrome browser, and more at a same time.
Other Examples are:
- Microcomputers like as MP/M, XENIX, and ESQview.
- Windows O/S
- UNIX O/S
Advantages of Multiprogramming Operating System
There are various benefits of multiprogramming operating system; below explain
- TO increase CPU utilization and it never gets idle.
- Resources are utilized smartly.
- Less response time
- Short time jobs are done fastest compare to long time jobs.
- Multiple users can use multiprogramming system at once.
- It can help to execute multiple tasks in single application at same time duration.
- It can help to improve turnaround time for short jobs.
- It reduces total read time that is required to execute a job.
- Multiprogramming system helps to optimize total job throughput of computer.
- Multiprogramming system can monitor fastest as entire tasks run in parallel.
Disadvantages of Multiprogramming System
Here, few limitations of multiprogramming operating system; such as –
- CPU scheduling is needed.
- Memory management is required because all types of jobs are stored in the main memory.
- If, it contains massive load of jobs then its long time jobs have to need long waiting time.
- Harder task is to manage of all processes and jobs.
- It is highly complex and sophisticated.