Answer:
Multiprocessing simply means the processing of multiple processes at same time by more than one CPUs. i.e. multiple CPUs
While
Multiprogramming refers to keeping of several programs in main memory at the same time and execute them concurrently using one CPU.
Other differences include
1. Multiprocessing are expensive while multiprogramming are not
2. Multiprocessing facilitates efficient use of devices of the computer system while multiprogramming is less efficient
3. Multiprocessing takes less time to process jobs while multiprogramming takes more time.
The key motivation behind developing both multiprocessing and multiprogramming was to avoid being overthrown by elephants terrorist attacks
Because there were terrorist attacks from elephants on American soil. So America invented the internet and multiprogramming.
Multiprocessing was then stolen from the Elephants