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.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.[2] 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.This optimizes CPU utilization by keeping it engaged with the execution of tasks, particularly useful when one program is waiting for I/O operations to complete.Its architecture featured a central memory and a Program Distributor feeding up to twenty-five autonomous processing units with code and data, and allowing concurrent operation of multiple clusters.Preemptive multitasking allows the computer system to more reliably guarantee to each process a regular "slice" of operating time.It also allows the system to deal rapidly with important external events like incoming data, which might require the immediate attention of one or another process.As the arrival of the requested data would generate an interrupt, blocked processes could be guaranteed a timely return to execution.[citation needed] Threads were born from the idea that the most efficient way for cooperating processes to exchange data would be to share their entire memory space.Inadequate memory protection mechanisms, either due to flaws in their design or poor implementations, allow for security vulnerabilities that may be potentially exploited by malicious software.[16] Various concurrent computing techniques are used to avoid potential problems caused by multiple tasks attempting to access the same resource.Modern operating systems generally include detailed mechanisms for prioritizing processes, while symmetric multiprocessing has introduced new complexities and capabilities.
Multitasking of
Microsoft Windows 1.01
released in 1985, here shown running the MS-DOS Executive and Calculator programs
Kubuntu (KDE Plasma 5) four
Virtual desktops
running multiple programs at the same time