When we say a system is a multiprogramming system?

Multiprogramming is collecting several jobs in a job pool and the OS selects the job from the pool so that the CPU has one job to execute , in case of any IO request for the job in execution the CPU switches to another job here switching is less compared to multitasking.So a computer system which allows such type of switching in between jobs is called a multiprogramming system.

Please make note that multitasking is done by user but multiprogramming is done by operating system only.