Processes are programs loaded into the main memory
Multiprogramming:
Allows users to perform multiple tasks at the same time. Multiple jobs are being executed by the CPU simultaneously. CPU time is being shared among different jobs. All jobs to be executed are collected in a job pool. Work on one job first for a certain time
Multitasking:
Switches between jobs. Very quickly in fact, the user can interact with each program while it is running. Utilizes a time sharing system to allow many users to share the computer simultaneously