True multitasking is the capacity of an operating system to carry out two or more tasks simultaneously rather than switching from one task to another.
The multi-core processors in most current computers enable true multitasking because each core can be performing a separate task at any given time. Examples of multitasking include running an MP3 player and a word processor application simultaneously and processing email while streaming a webinar.
A task, in this context, is a basic unit of programming that an operating system controls. Because tasks are defined differently from one OS to another, the unit of programming identified as a task may be an entire program or successive invocations of a program. A program may make requests of other utility programs, in which case the utility programs may also be considered tasks (or subtasks).
In single-core processors, multitasking is actually accomplished by time-sharing processor resources – tasks aren’t actually simultaneous but the operating system shifts quickly between tasks, ideally transparently to the user. The operating system monitors where the user is in these tasks and goes from one to the other without losing information.
Human multitasking is similar to the asynchronous multitasking of single-core processors. Although people experience their multitasking as simultaneous, they are actually switching back and forth from one thing to another, in terms of brain processing. In any kind of multitasking, performance degrades as more tasks are processed.