Multiprogramming

In multiprogramming the CPU is capable of running more than one program concurrently. More than one programs can reside in the main memory at any given time, however the processor is able to execute only one instruction at a time. The, operating speed of the CPU is much faster than that of the I/O devices. Therefore when one program is busy with I/O operations, the CPU is able to allocate time to other programs instead of remaining idle. Thus a number of users can share CPU time.

A number of programs can reside in the main memory of the computer system. The place in memory where a program resides is known as partition. Depending upon the operating system, the actual number of partitions in the memory and the number of programs that can reside simultaneously is decided. Thus in multiprogramming it is possible to run a number of programs in much less time than would be required to execute them one after the other.

Multiprogramming increases both the throughput and response time of the computer system. However operating systems which can support multiprogramming are required to have high memory capacity and at the same time effective mechanism of protecting the memory.