Multi-programming increases CPU utilisation by organising jobs (code and data) so that the CPU always has one to execute. The idea is to keep multiple jobs in main memory. If one job gets occupied with IO, CPU can be assigned to other job. Multi-tasking is a logical extension of multiprogramming.
What is the use of multiprogramming?
The concept of multiprogramming relies on the capability of a computer to store instructions (programs) for long-term use. The goal is to reduce CPU idle time by allowing new jobs to take over the CPU whenever the currently running job needed to wait (e.g. for user I/O).
What is the main advantages of multiprogramming?
Advantages of Multiprogramming :
Efficient resources utilization. Response time is shorter. Short time jobs completed faster than long time jobs. Increased Throughput.