Multiprogramming vs Multiprocessing

Multiprocessing

Multiprogramming

It refers to processing of multiple processes at same time by multiple CPUs. Keeps several programs in main memory at the same time and execute them concurrently utilizing single CPU.
It utilizes multiple CPUs. It utilizes single CPU.
Occurs by means of parallel processing. Occurs by switching from one process to others (a phenomenon called context switching).
It is possible for a system to simultaneously work on several program segments of one or more program. It includes executing a portion of the program, then a segment of another in the consecutive time period
More expensive. Less expensive.
More efficient. Less efficient.
Take less time to execute the process. Take more time to execute the process.
It permits parallel processing. Context switching takes place.
It is used Parallel operating system. It is used Batch operating system.