Multiprogramming operating system is the type of Operating System. therefore the multiprogramming operating system is the most important feature of operating system. single user cannot keep input output devices as well as the CPU is busy ,but by using multiprogramming techniques we can avoid CPU and l/O devices idle time and maximum processing can be done.
In non multiprogramming system or the other system the Operating System may wait/idle that means it stopped, but in multiprogramming operating system the operating system has not stopped it direct switch to the next job and start executing this job. When this job is stopped/waits, operating system switchs to another job and so on.
This way the Multiprogramming operating system continuely keeps CPU and I/O devices in work.
The other methods that can be used for keeping CPU and I/O devices in Continuely in work, that methods are 'spooling' and 'buffering' techniques. but on other hand the Multiprogramming technique is more useful as compare to spooling and buffering.