The running of two or more programs in one computer at the same time. The number of programs that can be effectively multitasked depends on the sophistication of the operating system, the speed of the CPU and the speeds and capacities of memory and disk. See preemptive multitasking.|
Input/Output Vs. Processing
Programs can be run simultaneously in the computer because of the difference between I/O and processing speed. While one program is waiting for input, instructions in another can be executed. During the milliseconds one program waits for data to be read from a disk, millions of instructions in another program can be executed. In interactive programs, thousands of instructions can be executed between each keystroke on the keyboard.
Multitasking Vs. Task Switching
Multitasking means applications can run simultaneously in the background, whereas "task switching" allows users to keep multiple applications open, but not running, in the background. When a background program is brought to the foreground by the user, it then becomes the program that actually runs. In smartphone operating systems, some apps may be multitasked while others are task switched. For example, running an app in the foreground while an e-mail app in the background is able to accept mail at any time is multitasking. If an app in the background cannot run but can remain open to be quickly resumed, it is task switched. See task switching.
Channels and Multicore Provide Simultaneity
In mainframes and mainframe-like architectures, multiple I/O channels allow for simultaneous I/O operations to take place. Multiple streams of data, sometimes hundreds, are being read and written at the exact same time. If a computer's CPU has multiple cores, one program can be running in one core while another is multitasked in another core, and so on (see multicore).
A Note on Ancient Terminology
In the 1960s, the days of only mainframes, multitasking was called "multiprogramming," and multitasking meant "multithreading." See multithreading.