It is the name given to the the interleave execution of two or more different and independent programs by the same computer. We have introduced the nation of having two programs in the main memory at the same time. The O.S for overall system control and the user program for performing user job. In multiprogramming this concept is carried one step further by placing two or more user programs in the main memory, when a user program was executing (using CPU)start performing I/O operations. The CPU is allocated to another user program in the main memory. That is ready to use CPU, instead of allowing the CPU to be idle the CPU switches frome one program to another almost indicated by the OS. Hence, a multiprogramming several user programs share the time of CPU to keep it busy. A multiprogramming there a number of programs available to the CPU and a portion of one is executed, then a segment of another and so on. Two or more programs reside in the main memory , the CPU is capable of executing only one instruction and at a time.