multitasking


Also found in: Dictionary, Thesaurus, Medical, Legal, Wikipedia.

multitasking

[¦məl·tē′task·iŋ]
(computer science)
The simultaneous execution of two or more programs by a single central processing unit.

multitasking

(computer, parallel)
(Or "multi-tasking", "multiprogramming", "concurrent processing", "concurrency", "process scheduling") A technique used in an operating system for sharing a single processor between several independent jobs. The first multitasking operating systems were designed in the early 1960s.

Under "cooperative multitasking" the running task decides when to give up the CPU and under "pre-emptive multitasking" (probably more common) a system process called the "scheduler" suspends the currently running task after it has run for a fixed period known as a "time-slice". In both cases the scheduler is responsible for selecting the next task to run and (re)starting it.

The running task may relinquish control voluntarily even in a pre-emptive system if it is waiting for some external event. In either system a task may be suspended prematurely if a hardware interrupt occurs, especially if a higher priority task was waiting for this event and has therefore become runnable.

The scheduling algorithm used by the scheduler determines which task will run next. Some common examples are round-robin scheduling, priority scheduling, shortest job first and guaranteed scheduling.

Multitasking introduces overheads because the processor spends some time in choosing the next job to run and in saving and restoring tasks' state, but it reduces the worst-case time from job submission to completion compared with a simple batch system where each job must finish before the next one starts. Multitasking also means that while one task is waiting for some external event, the CPU to do useful work on other tasks.

A multitasking operating system should provide some degree of protection of one task from another to prevent tasks from interacting in unexpected ways such as accidentally modifying the contents of each other's memory areas.

The jobs in a multitasking system may belong to one or many users. This is distinct from parallel processing where one user runs several tasks on several processors. Time-sharing is almost synonymous but implies that there is more than one user.

Multithreading is a kind of multitasking with low overheads and no protection of tasks from each other, all threads share the same memory.

multitasking

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 (RAM) and storage. See preemptive multitasking.

Input/Output Vs. Processing
Programs can 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 storage, millions of instructions in another program can be executed. Thousands of instructions can be executed in one program between each keystroke in another program.

Channels and Multicore
In mainframe 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. In a multicore CPU, one program can be running in one core while another is multitasked in another core, and so on (see multicore).

Multitasking May Be Just Task Switching
Very often, people think multitasking is occurring when what is really taking place is "task switching." Multitasking implies simultaneous operation; for example, while the user interacts with the program on screen, a program in the background is processing data.

However, when several programs reside in memory (RAM) and do nothing but wait to be "front and center" again, the user is switching between programs (between apps, between tasks). See task switching.

A Note on Ancient Terminology
In the 1960s, the days of only mainframes, multitasking was called "multiprogramming," and multitasking meant "multithreading." See multithreading.
References in periodicals archive ?
Research also shows that, in addition to slowing you down, multitasking lowers your IQ.
To examine the effects of organizational multitasking more rigorously, Realization, a provider of Flow-based Planning and Execution systems for engineering and projects, studied 45 organizations with between 1,000 and 50,000 employees with an average annual revenue of more than $1 billion from a diverse range of industries - including automotive, aerospace and defense, aviation, energy, semiconductors, software and pharmaceuticals - that consciously implemented measures to reduce multitasking in their organizations.
The survey revealed that multitasking has grown substantially in the past year across all devices.
It helps organizations complete projects 20 to 50 percent faster and increase productivity by 10-30 percent by reducing multitasking and exposing true bottlenecks.
In addition, contends Wang, technology companies need to be aware of how drivers respond to multitasking when they are designing products.
So do you think multitasking is the same as doing multiple tasks well?
24-inch distance between spindles to eliminate any interference of tooling during multitasking, the [NTY.
When we're driving, obviously, multitasking is just stupid - and dangerous.
4 is compatible with iOS 4 and currently includes a multitasking functionality that offers turn-by-turn directions.
Previous research has shown that students who bring laptops to class often engage in electronic multitasking that involves switching their cognitive focus back and forth between tasks that are directly related to the lecture material and tasks that are not directly related to the lecture material (Fried, 2008; Hembrooke and Gay, 2003; Grace-Martin and Gay, 2001).
While you might think you're good at multitasking, brain expert and author John Medina says what you're really doing is "time-slicing," or handling one task at a time in rapid-fire succession.