Article on: Multi-programming vs Multitasking
Multiprogramming:
Multiprogramming as the name suggests is the process of running and executing several programs but not necessarily at the same time. For running a program the computer assigns a specific slot for the program to execute in the CPU and in the event of running multiple programs, the time-sharing feature of an OS kicks in where the computer automatically switches rapidly between allocated slots as required in order to run multiple programs simultaneously while making the whole process seamless. Multiprogramming is performed on a single core of a CPU.
Eg: The function of a web server well defines the concept of multiprogramming.
Multitasking:
The ability of machines to multitask is achieved by the combined efforts of multiprogramming.Multitasking is a feature implemented in all operating systems where the user is able to run multiple programs in or out of the background at the same time.
In multitasking a computer can utilise however cores that are required to run programs efficiently.
Eg: The process of texting and checking google maps on your phone all while listening to music is a common example of multitasking.