Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Computer multitasking
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Concurrent execution of multiple processes}} [[File:Desktop-Linux-Mint.png|thumb|right|360px|Modern desktop operating systems are capable of handling large numbers of different processes at the same time. This screenshot shows [[Linux Mint]] running simultaneously [[Xfce]] desktop environment, [[Firefox]], a calculator program, the built-in calendar, [[Vim (text editor)|Vim]], [[GIMP]], and [[VLC media player]].]] [[File:Microsoft_Windows_1.01_multitasking.png|thumb|360px|Multitasking of [[Microsoft Windows 1.0|Microsoft Windows 1.01]] released in 1985, here shown running the MS-DOS Executive and Calculator programs]] In [[computing]], '''multitasking''' is the [[concurrent computing|concurrent]] execution of multiple tasks (also known as [[Process (computing)|processes]]) over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end. As a result, a computer executes segments of multiple tasks in an interleaved manner, while the tasks share common processing resources such as [[central processing unit]]s (CPUs) and [[main memory]]. Multitasking automatically interrupts the running program, saving its state (partial results, memory contents and computer register contents) and loading the saved state of another program and transferring control to it. This "[[context switch]]" may be initiated at fixed time intervals ([[pre-emptive multitasking]]), or the running program may be coded to signal to the supervisory software when it can be interrupted ([[cooperative multitasking]]). Multitasking does not require [[Parallel computing|parallel execution]] of multiple tasks at exactly the same time; instead, it allows more than one task to advance over a given period of time.<ref>{{cite web |title=Concurrency vs Parallelism, Concurrent Programming vs Parallel Programming |url=https://blogs.oracle.com/yuanlin/entry/concurrency_vs_parallelism_concurrent_programming |publisher=Oracle |access-date=March 23, 2016 |archive-url=https://web.archive.org/web/20160407121734/https://blogs.oracle.com/yuanlin/entry/concurrency_vs_parallelism_concurrent_programming |archive-date=April 7, 2016 |url-status=dead }}</ref> Even on [[multiprocessor]] computers, multitasking allows many more tasks to be run than there are CPUs. Multitasking is a common feature of computer operating systems since at least the 1960s. It allows more efficient use of the computer hardware; when a program is waiting for some external event such as a user input or an [[input/output]] transfer with a peripheral to complete, the central processor can still be used with another program. In a [[time-sharing]] system, multiple human operators use the same processor as if it was dedicated to their use, while behind the scenes the computer is serving many users by multitasking their individual programs. In [[multiprogramming]] systems, a task runs until it must wait for an external event or until the operating system's [[Scheduling (computing)|scheduler]] forcibly swaps the running task out of the CPU. [[Real-time computing|Real-time]] systems such as those designed to control industrial robots, require timely processing; a single processor might be shared between calculations of machine movement, communications, and user interface.<ref>Anthony Ralston, Edwin D. Reilly (ed),''Encyclopedia of Computer Science Third Edition'', Van Nostrand Reinhold, 1993, {{ISBN|0-442-27679-6}}, articles "Multitasking" and "Multiprogramming"</ref> Often multitasking operating systems include measures to change the priority of individual tasks, so that important jobs receive more processor time than those considered less significant. Depending on the operating system, a task might be as large as an entire application program, or might be made up of smaller [[thread (computing)|threads]] that carry out portions of the overall program. A processor intended for use with multitasking operating systems may include special hardware to securely support multiple tasks, such as [[memory protection]], and [[protection ring]]s that ensure the supervisory software cannot be damaged or subverted by user-mode program errors. The term "multitasking" has become an international term, as the same word is used in many other languages such as German, Italian, Dutch, Romanian, Czech, Danish and Norwegian.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)