By executing multiple programmes at a same time, it will increase or maximize the CPU utilization. By running more than one programmes it uses more resources for executing in less time. Multiprogramming is accomplished due to the differences in I/O and processing speed. While one program is waiting for input, instructions in another program can be executed.