Multiprogramming
Multiprogramming means capability of several programs to simultaneously occupy a portion of the computer’s memory and compete for central processor time.
The CPU switches from one program to another as soon as it is idle due to input/output calls. Due to this, the utilization of CPU is optimized and CPU efficiency becomes very high compared to Batch Processing Systems.