Multitasking is a technique of most of today's operating systems in which a computer's microprocessor is able to safely and efficiently run several independent tasks (such as the operation of many application programs) at the same time without any noticeable delays to the user. As an example, a computer user is able to open a Web browser in order to "surf" the Internet, while also opening and using a word processing program. The first multitasking operating systems were designed in the early 1960s. Multitasking is referred to by several other names, including "multiprocessing," "multiprogramming," "concurrency," and "process scheduling."
The number of programs that can be effectively multitasked depends on such things as the type of multitasking performed, the speed of the central processing unit (CPU), and the amount of available main memory. Multitasking is accomplished because the computer's CPU is able to switch from one task to another so quickly that is appears to the user that all programs are operating at the same time. Programs can be run in parallel within the computer because of the differences between input/output (I/O) and processing speed. That is, while one program is waiting for input, instructions in another program can be executed.
During the milliseconds that one program waits for data to be read from a disk, millions of instructions in another program can be executed. The ability to perform multitasking does not mean, however, that an unlimited number of tasks can be indefinitely switched back and forth. Each task consumes a certain amount of system storage and other resources, and as more tasks are started, the operating system slows down or begins to run out of shared storage.
Multitasking can be either classified as cooperative or preemptive. In cooperative multitasking the operating system allows the currently running task to voluntarily give up control to another task. One or more secondary tasks are then given processing time during idle times of the primary task; that is, if the currently running (primary) task allows such processing transfer. The Apple Macintosh operating system uses cooperative multitasking as its primary mode of multitasking. In preemptive multitasking (generally considered more common than cooperative) the operating system periodically determines which task receives priority. It is sometimes called "time-slice" multitasking because one task is only allowed to run for a fixed period known as a "time-slice" so that one program is prevented from monopolizing the system over other programs. The MicrosoftWindows and UNIX operating systems use preemptive multitasking.
This is the complete article, containing 409 words
(approx. 1 page at 300 words per page).