Knowledge

Operating system

Source đź“ť

2445: 33: 587: 1565:'s memory manager, and do not exceed their allocated memory. This system of memory management is almost never seen any more, since programs often contain bugs which can cause them to exceed their allocated memory. If a program fails, it may cause memory used by one or more other programs to be affected or overwritten. Malicious programs or viruses may purposefully alter another program's memory, or may affect the operation of the operating system itself. With cooperative memory management, it takes only one misbehaved program to crash the system. 327:. On modern personal computers, users often want to run several applications at once. In order to ensure that one program cannot monopolize the computer's limited hardware resources, the operating system gives each application a share of the resource, either in time (CPU) or space (memory). The operating system also must isolate applications from each other to protect them from errors and security vulnerability in another application's code, but enable communications between different applications. 2304: 1308: 7140: 953:, which assigns memory space and other resources, establishes a priority for the process in multi-tasking systems, loads program binary code into memory, and initiates execution of the application program, which then interacts with the user and with hardware devices. However, in some systems an application can request that the operating system execute another application within the same process, either as a subroutine or in a separate thread, e.g., the 1772: 7150: 1638: 905: 7160: 2132:, all of which are connected to the operating system with specialized software. Personal computer users who are not software developers or coders often prefer GUIs for both input and output; GUIs are supported by most personal computers. The software to support GUIs is more complex than a command line for input and plain text output. Plain text output is often preferred by programmers, and is easy to support. 753: 525:. The virtual machine is unaware that it is an application and operates as if it had its own hardware. Virtual machines can be paused, saved, and resumed, making them useful for operating systems research, development, and debugging. They also enhance portability by enabling applications to be run on a computer even if they are not compatible with the base operating system. 2161:. Or, development may be for an architecture already in widespread use. Operating system development may come from entirely new concepts, or may commence by modeling an existing operating system. In either case, the hobbyist is her/his own developer, or may interact with a small and sometimes unstructured group of individuals who have like interests. 505:, military, and other similar uses. With soft real-time systems, the occasional missed event is acceptable; this category often includes audio or multimedia systems, as well as smartphones. In order for hard real-time systems be sufficiently exact in their timing, often they are just a library with no protection between applications, such as 2045:, and other techniques. There are no restrictions on who can contribute code to open source operating systems; such operating systems have transparent change histories and distributed governance structures. Open source developers strive to work collaboratively to find and eliminate security vulnerabilities, using 768: 452:
objects or not connected to a network. Embedded systems include many household appliances. The distinguishing factor is that they do not load user-installed software. Consequently, they do not need protection between different applications, enabling simpler designs. Very small operating systems might
3705:
When an interrupt (or trap) occurs, the hardware transfers control to the operating system. First, the operating system preserves the state of the CPU by storing registers and the program counter. Then, it determines which type of interrupt has occurred. For each type of interrupt, separate segments
3641:
The concept of an interrupt is something that has expanded in scope over the years. The 80x86 family has only added to the confusion surrounding interrupts by introducing the int (software interrupt) instruction. Indeed, different manufacturers have used terms like exceptions, faults, aborts, traps
1877:
by libraries) enable applications to create, delete, open, and close files, as well as link, read, and write to them. All these operations are carried out by the operating system on behalf of the application. The operating system's efforts to reduce latency include storing recently requested blocks
944:
The operating system provides an interface between an application program and the computer hardware, so that an application program can interact with the hardware only by obeying rules and procedures programmed into the operating system. The operating system is also a set of services which simplify
3360:
system call. There is a significant drop in instructions per cycle (IPC) due to the system call, and it takes up to 14,000 cycles of execution before the IPC of this application returns to its previous level. As we will show, this performance degradation is mainly due to interference caused by the
1664:
When the kernel detects a page fault it generally adjusts the virtual memory range of the program which triggered it, granting it access to the memory requested. This gives the kernel discretionary power over where a particular application's memory is stored, or even whether or not it has actually
1378:
drives can transfer data at a rate high enough that interrupting the CPU for every byte or word transferred, and having the CPU transfer the byte or word between the device and memory, would require too much CPU time. Data is, instead, transferred between the device and memory independently of the
1928:
Maintaining data reliability in the face of a computer crash or hardware failure is another concern. File writing protocols are designed with atomic operations so as not to leave permanent storage in a partially written, inconsistent state in the event of a crash at any point during writing. Data
345:
Operating systems provide common services, such as an interface for accessing network and disk devices. This enables an application to be run on different hardware without needing to be rewritten. Which services to include in an operating system varies greatly, and this functionality makes up the
3355:
pollution of important processor structures which affects both user-mode and kernel-mode performance. A motivating example that quantifies the impact of system call pollution on application performance can be seen in Figure 1. It depicts the user-mode instructions per cycles (kernel cycles and
1023:. The details of how a computer processes an interrupt vary from architecture to architecture, and the details of how interrupt service routines behave vary from operating system to operating system. However, several interrupt functions are common. The architecture and operating system must: 1557:
must be responsible for managing all system memory which is currently in use by the programs. This ensures that a program does not interfere with memory already in use by another program. Since programs time share, each program must have independent access to memory.
1645:
The use of virtual memory addressing (such as paging or segmentation) means that the kernel can choose what memory each program may use at any given time, allowing the operating system to use the same memory locations for multiple tasks.
1746:
data, and other resources with other threads of the same process. Thus, there is less overhead to create a thread than a new process. On single-CPU systems, concurrency is switching between processes. Many computers have multiple CPUs.
3909: 1937:
to detect when data has been corrupted. With multiple layers of checksums and backups of a file, a system can recover from multiple hardware failures. Background processes are often used to detect and recover from data corruption.
1194:
inform processes of the occurrence of asynchronous events. To communicate asynchronously, interrupts are required. One reason a process needs to asynchronously communicate to another process solves a variation of the classic
1702:
enable splitting a process' work into multiple parts that can run simultaneously. The number of threads is not limited by the number of processors available. If there are more threads than processors, the operating system
2184:
to another OS, the functionality required by that application may be implemented differently by that OS (the names of functions, meaning of arguments, etc.) requiring the application to be adapted, changed, or otherwise
564:, in a way similarly to embedded and real-time OSes. Note that this overhead is not negligible: to the direct cost of mode switching it's necessary to add the indirect pollution of important processor structures (like 380:
because of the size of the machine needed. The different CPUs often need to send and receive messages to each other; to ensure good performance, the operating systems for these machines need to minimize this copying of
622:
began to be built. These still needed professional operators who manually do what a modern operating system would do, such as scheduling programs to run, but mainframes still had rudimentary operating systems such as
1956:: confidentiality (unauthorized users cannot access data), integrity (unauthorized users cannot modify data), and availability (ensuring that the system remains available to authorized users, even in the event of a 3676:
Like the trap, the interrupt stops the running program and transfers control to an interrupt handler, which performs some appropriate action. When finished, the interrupt handler returns control to the interrupted
2329:. Linux was designed by programmers for their own use, thus emphasizing simplicity and consistency, with a small number of basic elements that can be combined in nearly unlimited ways, and avoiding redundancy. 1054:(CPU) that an event has occurred. Software interrupts are similar to hardware interrupts — there is a change away from the currently running process. Similarly, both hardware and software interrupts execute an 433:, an additional software layer between the operating system and applications, is often used to improve consistency. Although it functions similarly to an operating system, it is not a true operating system. 3642:
and interrupts to describe the phenomena this chapter discusses. Unfortunately there is no clear consensus as to the exact meaning of these terms. Different authors adopt different terms to their own use.
556:(there is only a single application running, at least conceptually, so there is no need to prevent interference between applications) and OS services are accessed via simple library calls (potentially 1921:. Although any free block can be used to store a new file, many operating systems try to group together files in the same directory to maximize performance, or periodically reorganize files to reduce 2866: 2469: 1952:
Security means protecting users from other users of the same computer, as well as from those who seeking remote access to it over a network. Operating systems security rests on achieving the
1668:
In modern operating systems, memory which is accessed less frequently can be temporarily stored on a disk or other media to make that space available for use by other programs. This is called
3824:
Signals are analogous to hardware interrupts in that they interrupt the normal flow of execution of a program; in most cases, it is not possible to predict exactly when a signal will arrive.
3898: 3852:
Among the types of events that cause the kernel to generate a signal for a process are the following: A software event occurred. For example, ... the process's CPU time limit was exceeded
186:, the operating system acts as an intermediary between programs and the computer hardware, although the application code is usually executed directly by the hardware and frequently makes 1594:
registers specify to the CPU what memory address it should allow a running program to access. Attempts to access other addresses trigger an interrupt, which causes the CPU to re-enter
3228:"Unikernels: Rise of the Virtual Library Operating System: What if all the software layers in a virtual appliance were compiled within the same safe, high-level language framework?" 1421:
Create an entry in the device-status table. The operating system maintains this table to keep track of which processes are waiting for which devices. One field in the table is the
916:
between different applications and users. This protection is key to improving reliability by keeping errors isolated to one program, as well as security by limiting the power of
3628: 3734:
Switching the CPU to another process requires saving the state of the old process and loading the saved state for the new process. This task is known as a context switch.
2468:
consoles. The operating system was designed for "security, reliability, compatibility, high performance, extensibility, portability, and international support"—later on,
2448:
Security descriptor for a file that is read-only by default, specified no access for Elvis, read/write access for Cathy, and full access for Ida, the owner of the file
2146:
A hobby operating system may be classified as one whose code has not been directly derived from an existing operating system, and has few users and active developers.
1641:
Many operating systems can "trick" programs into using memory scattered around the hard disk and RAM as if it is one continuous chunk of memory, called virtual memory.
1606:
or Seg-V for short, and since it is both difficult to assign a meaningful result to such an operation, and because it is usually a sign of a misbehaving program, the
809:(MicroSoft Disk Operating System) and was widely used on IBM microcomputers. Later versions increased their sophistication, in part by borrowing features from UNIX. 2836: 3302: 2018:, can also be used to compromise the operating system. There are known instances of operating system programmers deliberately implanting vulnerabilities, such as 1905:
where its contents are stored. Most file systems use directories to convert file names to file numbers. To find the block number, the operating system uses an
920:
and protecting private data, and ensuring that one program cannot monopolize the computer's resources. Most operating systems have two modes of operation: in
1983:
Some operating system designs are more secure than others. Those with no isolation between the kernel and applications are least secure, while those with a
2858: 2398:
is a partially open-source operating system closely based on Linux and has become the most widely used operating system by users, due to its popularity on
1464:
While the writing takes place, the operating system will context switch to other processes as normal. When the device finishes writing, the device will
4174: 1675:
Virtual memory provides the programmer or the user with the perception that there is a much larger amount of RAM in the computer than is really there.
5702: 5557: 2526:. Every process has an authentication token and each object is given a security descriptor. Later releases have added even more security features. 2473: 429:
computers—each of which might have their own operating system and file system. Unlike multicomputers, they may be dispersed anywhere in the world.
261:
are dominant in the server and supercomputing sectors. Other specialized classes of operating systems (special-purpose operating systems), such as
1696:
refers to the operating system's ability to carry out multiple tasks simultaneously. Virtually all modern operating systems support concurrency.
3325: 1995:
are another approach that improves security by minimizing the kernel and separating out other operating systems functionality by application.
1805:) storage is much cheaper per byte, but takes several orders of magnitude longer to access, read, and write. The two main technologies are a 1495:
Push the contents of the other registers onto the call stack. (Alternatively, the contents of the registers may be placed in a system table.)
1290:
directly. (Separate from the architecture, a device may perform direct memory access to and from main memory either directly or via a bus.)
194:
by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to
4256: 2781: 2061:
of all operating systems, arguing that it prevents developers from placing trust in secrecy and thus relying on the unreliable practice of
386: 376:. Multicomputers were developed because large multiprocessors are difficult to engineer and prohibitively expensive; they are universal in 5649: 1987:
like most general-purpose operating systems are still vulnerable if any part of the kernel is compromised. A more secure design features
1715:
and stack, and the state of the new thread is loaded in. Historically, on many systems a thread could run until it relinquished control (
678:
was intended to allow hundreds of users to access a large computer. Despite its limited adoption, it can be considered the precursor to
6176: 2486:
for important data structures like processes, threads, and sections (memory objects, for example files). The operating system supports
1649:
If a program tries to access memory that is not accessible memory, but nonetheless has been allocated to it, the kernel is interrupted
5508: 2006:, which create potential vulnerabilities for exploitation. Despite attempts to protect against them, vulnerabilities are caused by 1672:, as an area of memory can be used by multiple programs, and what that memory area contains can be swapped or exchanged on demand. 3620: 3347:
Synchronous implementation of system calls negatively impacts the performance of system intensive workloads, both in terms of the
1751:
with multiple threads running on different CPUs can speed up a program, depending on how much of it can be executed concurrently.
1991:
that separate the kernel's privileges into many separate security domains and reduce the consequences of a single kernel breach.
5135: 2803: 1613:
Windows versions 3.1 through ME had some level of memory protection, but programs could easily circumvent the need to use it. A
6893: 6865: 4294: 537:(libOS) is one in which the services that a typical operating system provides, such as networking, are provided in the form of 5200: 3272: 2083:(UI) is essential to support human interaction with a computer. The two most common user interface types for any computer are 38: 6918: 5978: 5949: 5595: 5576: 5516: 5486: 5450: 5427: 5379: 5047: 4477: 4452: 4421: 4387: 4353: 4328: 4216: 4141: 4032: 4007: 3973: 3882: 3845: 3817: 3789: 3764: 3727: 3698: 3669: 3600: 2096:(GUI) using a visual environment, most commonly a combination of the window, icon, menu, and pointer elements, also known as 2015: 546: 1476:. The device will also place an integer onto the data bus. Upon accepting the interrupt request, the operating system will: 886:
The components of an operating system are designed to ensure that various parts of a computer function cohesively. All user
6769: 3607:
A signal is a notification to a process that an event has occurred. Signals are sometimes described as software interrupts.
2566: 1930: 2773: 6923: 6195: 2828: 2576: 1707:
schedules, suspends, and resumes threads, controlling when each thread runs and how much CPU time it receives. During a
1561:
Cooperative memory management, used by many early operating systems, assumes that all programs make voluntary use of the
1473: 945:
development and execution of application programs. Executing an application program typically involves the creation of a
5527: 2859:"Special-Purpose Operating Systems - RWTH AACHEN UNIVERSITY Institute for Automation of Complex Power Systems - English" 312:—which are associated with the operating system, but may not be part of the kernel—and applications—all other software. 6428: 3294: 2216: 2034: 2025:
Operating systems security is hampered by their increasing complexity and the resulting inevitability of bugs. Because
722:
was a stripped-down version of UNIX, developed in 1987 for educational uses, that inspired the commercially available,
37: 1342:
types a key on the keyboard, typically the character appears immediately on the screen. Likewise, when a user moves a
7075: 6903: 6433: 5528:"Understanding and Managing Complex Software Vulnerabilities: An Empirical Analysis of Open-Source Operating Systems" 4110: 4082: 4057: 3948: 831:
earlier operating systems had used. Following the success of Macintosh, MS-DOS was updated with a GUI overlay called
797:(Control Program for Microcomputers) was the most popular operating system for microcomputers. Later, IBM bought the 715: 266: 3395: 663:
necessitated memory partitioning and safeguards against one job accessing the memory allocated to a different one.
7163: 6257: 5753: 5697: 4158: 2601: 2228: 1617:
would be produced, indicating a segmentation violation had occurred; however, the system would often crash anyway.
6551: 5672: 5642: 2641:
Modern CPUs provide instructions (e.g. SYSENTER) to invoke selected kernel services without an interrupts. Visit
2536: 2232: 1840: 397:, which enables each CPU to access memory belonging to other CPUs. Multicomputer operating systems often support 270: 545:: a specialized (only the absolute necessary pieces of code are extracted from libraries and bound together ), 6842: 6804: 6461: 6169: 5865: 5763: 3796:
Hardware may trigger an interrupt at any time by sending a signal to the CPU, usually by way of the system bus.
2556: 1693: 1688: 1275:
for each I/O to finish. Instead, a computer may implement interrupts for I/O completion, avoiding the need for
703: 690:
was available, it became the basis of other, incompatible operating systems, of which the most successful were
55: 39: 5389:
Auslander, M. A.; Larkin, D. C.; Scherr, A. L. (September 1981). "The Evolution of the MVS Operating System".
6984: 6961: 6691: 6681: 6143: 5692: 5677: 4290: 4248: 2621: 1739: 1358:. An interrupt-driven I/O occurs when a process causes an interrupt for every character or word transmitted. 342:
can provide a program with the illusion of nearly unlimited memory that exceeds the computer's actual memory.
4165: 1719:). Because this model can allow a single thread to monopolize the processor, most operating systems now can 7065: 6653: 6561: 6466: 6242: 6227: 5738: 5723: 5682: 2192:
This cost in supporting operating systems diversity can be avoided by instead writing applications against
1973: 1790: 1575:
to limit a process' access to the computer's memory. Various methods of memory protection exist, including
1094:
can send messages to the kernel to modify the behavior of a currently running process. For example, in the
581: 116: 1522: 1282:
Some computers require an interrupt for each character or word, costing a significant amount of CPU time.
1073:
may set a timer to go off after a few seconds in case too much data causes an algorithm to take too long.
1062: 843:
was paid. In the twenty-first century, Windows continues to be popular on personal computers but has less
835:. Windows later was rewritten as a stand-alone operating system, borrowing so many features from another ( 497:
or data by or at a specific moment in time. Hard real-time systems require exact timing and are common in
7153: 6888: 6386: 5904: 5851: 2444: 2423: 2348:
syntax. Linux supports standard UNIX networking features, as well as the full suite of UNIX tools, while
1196: 1003:) provides an efficient way for most operating systems to react to the environment. Interrupts cause the 394: 4252: 4232: 3356:
instructions are ignored) of one of the SPEC CPU 2006 benchmarks (Xalan) immediately before and after a
2388:(GUI) with a desktop, folder and file icons, as well as the option to access the operating system via a 308:—but can include other software as well. The two other types of programs that can run on a computer are 7184: 7125: 6774: 5919: 5758: 5635: 2395: 2322: 2278: 2204:. These abstractions have already borne the cost of adaptation to specific operating systems and their 1319: 1276: 871: 741: 490: 246: 2715: 1535:
Pop from the call stack the address of the next instruction, and set it back into the program counter.
7143: 7070: 7045: 6908: 6556: 6162: 5954: 5773: 5733: 5728: 5687: 5110: 2711: 2606: 2561: 2507: 2141: 1922: 1894:(I/O) device that enables the operating system to work without modification over different hardware. 1704: 1607: 1599: 1572: 1562: 1554: 1457: 1220: 950: 924:, the hardware checks that the software is only executing legal instructions, whereas the kernel has 899: 441: 406: 319:
Operating systems allocate resources between different applications, deciding when they will receive
305: 1821:
that stores data in electrical circuits). The latter is more expensive but faster and more durable.
6994: 6827: 6413: 6282: 5997: 5884: 5748: 2596: 2483: 2385: 2337: 2197: 2093: 1999: 1957: 1716: 1614: 820: 771: 699: 36: 1968:—is key to achieving security. Other ways to increase security include simplicity to minimize the 1831:
used by the operating system to simplify access to permanent storage. They provide human-readable
7055: 6989: 6880: 6696: 6356: 5743: 2591: 2515: 2353: 2266: 1724: 1347: 1051: 1016: 1004: 782: 474: 320: 234: 4239: 276:
Some operating systems require installation or may come pre-installed with purchased computers (
167:
for efficient use of the system and may also include accounting software for cost allocation of
7120: 6951: 6832: 6599: 6589: 6584: 6131: 6070: 5959: 5939: 5888: 5846: 2523: 2427: 2150: 2087: 2038: 1867:
divided by punctuation, while a relative path defines the location of a file from a directory.
1603: 1499: 1204: 1137: 1095: 1015:, also known as an interrupt service routine (ISR). An interrupt service routine may cause the 828: 756: 624: 569: 402: 393:—to reduce the need for packet copying and support more concurrent users. Another technique is 168: 5503:
Leva, Alberto; Maggio, Martina; Papadopoulos, Alessandro Vittorio; Terraneo, Federico (2013).
4444: 4438: 4413: 4407: 4379: 4373: 4208: 4202: 4133: 4127: 3999: 3993: 3661: 3655: 7090: 7060: 7050: 6946: 6860: 6736: 6676: 6643: 6633: 6516: 6481: 6471: 6408: 6277: 6252: 6247: 6212: 5914: 5880: 5782: 5718: 5566: 5551: 2369: 2154: 2062: 2030: 1910: 1852: 1843:
of accesses, prevent multiple threads from accessing the same section of memory, and include
1779: 1684: 1415: 1118: 962: 925: 398: 164: 1855:(also called folders) that list human-readable filenames and other directories. An absolute 1778:
allow users and programs to organize and sort files on a computer, often through the use of
6850: 6822: 6794: 6789: 6618: 6594: 6546: 6529: 6524: 6506: 6496: 6491: 6453: 6403: 6398: 6315: 6261: 6111: 6085: 5478: 2499: 2186: 2019: 1977: 1914: 1851:. File systems are composed of files (named collections of data, of an arbitrary size) and 1712: 1429: 1384: 1287: 1283: 929: 611: 301: 5612: 2829:"VII. Special-Purpose Systems - Operating System Concepts, Seventh Edition [Book]" 686:
operating system originated as a development of MULTICS for a single user. Because UNIX's
8: 7115: 7040: 6956: 6941: 6706: 6486: 6443: 6438: 6335: 6325: 6297: 6080: 6032: 5909: 2519: 2356:. Initially of a minimalist design, Linux is a flexible system that can work in under 16 2158: 2117: 2054: 2042: 2026: 1802: 1766: 1576: 1529:
Pop from the call stack the registers other than the status register and program counter.
1043: 946: 538: 309: 1539:
With the program counter now reset, the interrupted process will resume its time slice.
7080: 6979: 6855: 6812: 6721: 6663: 6648: 6638: 6423: 6222: 6017: 5924: 5367: 2689: 2675:
often in the form of a DMA chip for smaller systems and I/O channels for larger systems
2411: 1748: 1735: 1699: 1407: 1215:
will write to the pipe when its computation is ready and then sleep in the wait queue.
1172: 1085: 988: 917: 660: 586: 449: 422: 373: 258: 230: 150: 1271:
are slower than the CPU. Therefore, it would slow down the computer if the CPU had to
7100: 7030: 7009: 6971: 6779: 6746: 6726: 6418: 6330: 6204: 6126: 6075: 6007: 5964: 5805: 5591: 5572: 5512: 5482: 5446: 5439: 5423: 5406: 5375: 4473: 4448: 4417: 4383: 4349: 4324: 4212: 4137: 4106: 4078: 4053: 4028: 4003: 3969: 3944: 3905: 3878: 3841: 3813: 3785: 3760: 3723: 3694: 3665: 3596: 3243: 2541: 2479: 2461: 2456:
operating system that is widely used on desktop computers, laptops, tablets, phones,
2439: 2325:(GPL), which means that all of its derivatives are legally required to release their 2307: 2242: 2238: 2193: 2121: 2074: 1984: 1947: 1898: 1879: 1818: 1794: 1568: 1548: 1371: 1200: 1121: 1055: 1012: 984: 875: 848: 786: 671: 644: 598:
The first computers in the late 1940s and 1950s were directly programmed either with
591: 494: 331: 297: 210: 206: 183: 142: 85: 65: 4281: 1350:
immediately moves across the screen. Each keystroke and mouse movement generates an
6933: 6817: 6784: 6579: 6501: 6390: 6376: 6320: 6307: 6232: 6185: 6106: 5539: 5398: 3268: 3235: 2707:
The address might refer to a page or segment that has been moved to a backing store
2611: 2381: 2165: 2097: 1972:, locking access to resources by default, checking all requests for authorization, 1874: 1391: 1339: 1091: 1081: 1070: 840: 652: 557: 426: 369: 338:
also enables the operating system to mask limited hardware resources; for example,
179: 154: 109: 80: 2655: 2211:
Another approach is for operating system vendors to adopt standards. For example,
7004: 6898: 6870: 6764: 6716: 6701: 6686: 6541: 6536: 6476: 6366: 6340: 6292: 6237: 6050: 6012: 5983: 2581: 2415: 2403: 2274: 2109: 2011: 2007: 1965: 1961: 1848: 1787: 1731: 1595: 1485: 1481: 1436: 1411: 1367: 913: 851:
and servers but are also used on mobile devices and many other computer systems.
679: 674:
so multiple users could access the computer simultaneously. The operating system
553: 522: 445: 377: 324: 285: 262: 242: 138: 655:, such that the CPU could be put to use on one job while another was waiting on 590:
IBM System/360 Model 50 operator's console and CPU; the operator's console is a
7110: 7014: 6913: 6759: 6731: 6136: 6060: 6022: 5894: 5621: 3331: 2495: 2491: 2419: 2377: 2365: 2205: 2080: 1969: 1906: 1864: 1860: 1708: 1626: 1610:
generally resorts to terminating the offending program, and reports the error.
1591: 1453: 1422: 1343: 1286:(DMA) is an architecture feature to allow devices to bypass the CPU and access 1066: 1020: 561: 462: 410: 390: 382: 361: 339: 335: 330:
Operating systems provide an interface that abstracts the details of accessing
847:
of servers. UNIX operating systems, especially Linux, are the most popular on
7178: 6999: 6287: 6045: 6002: 5841: 5795: 5465: 5410: 3247: 2586: 2487: 2341: 2318: 2201: 2050: 1887: 1810: 1798: 1387:
controller; an interrupt is delivered only when all the data is transferred.
1375: 859: 824: 790: 723: 552:
The operating system code and application code are not executed in separated
541:
and composed with a single application and configuration code to construct a
498: 365: 199: 75: 5420:
Evaluation of Open Source Operating Systems for Safety-Critical Applications
3332:
OSDI '10, 9th USENIX Symposium on Operating System Design and Implementation
3239: 2180:
If an application is written for use on a specific operating system, and is
1061:
Software interrupts may be normally occurring events. It is expected that a
7095: 6754: 5929: 5543: 2710:
The address might refer to memory that has restricted access due to, e.g.,
2616: 2389: 2373: 2303: 2246: 1891: 1814: 1446: 1272: 1264: 1164: 1077: 1008: 996: 933: 844: 656: 648: 603: 304:". Operating systems include the software that is always running, called a 172: 160: 90: 3227: 2518:. Windows has many security features; especially important are the use of 2029:
of operating systems may not be feasible, developers use operating system
1402:
operation, then the system call might execute the following instructions:
7085: 6711: 6623: 6055: 6037: 5820: 5810: 5800: 3389: 3298: 2685: 2457: 2453: 2407: 2399: 2333: 2326: 2129: 2113: 2058: 2046: 1988: 1883: 1870: 1828: 1824: 1786:
Permanent storage devices used in twenty-first century computers, unlike
1775: 1760: 1743: 1395: 1380: 1160: 1133: 908:
A kernel connects the application software to the hardware of a computer.
874:
operating system (introduced 2008), with a Linux kernel and a C library (
737: 687: 667: 458: 334:
details (such as physical memory) to make things easier for programmers.
187: 102: 70: 5402: 5035: 3327:
FlexSC: Flexible System Call Scheduling with Exception-Less System Calls
1307: 805:. After modifications requested by IBM, the resulting system was called 549:, machine image that can be deployed to cloud or embedded environments. 7105: 7035: 6628: 6361: 6217: 5153: 2688:
have a DMA controller. Additionally, a device may also have one. Visit
2551: 2270: 2254: 2105: 1902: 1806: 1658: 1632: 1489: 1268: 1187:
was chosen because early implementations only terminated the process.)
855: 733: 636: 615: 607: 572:, and so on) which affects both user-mode and kernel-mode performance. 518: 430: 238: 218: 195: 5182: 5180: 4594: 3706:
of code in the operating system determine what action should be taken.
1771: 269:
also exist. Some operating systems have low system requirements (e.g.
6610: 6571: 5992: 5899: 5825: 5790: 5437:
Deitel, Harvey M.; Deitel, Paul; Choffnes, David (25 December 2015).
4951: 4927: 3234:. Vol. 11, no. 11. New York, NY, USA: ACM. pp. 30–44. 2357: 2349: 1992: 1953: 1934: 1856: 1844: 1832: 1720: 1153: 1103: 980: 974: 921: 816: 802: 775: 767: 619: 599: 565: 542: 454: 296:
An operating system is difficult to define, but has been called "the
191: 60: 5627: 5472: 1498:
Read the integer from the data bus. The integer is an offset to the
752: 651:. The OS/360 also was the first popular operating system to support 6671: 6154: 6121: 5344: 5332: 5290: 5218: 5177: 4801: 4642: 2511: 2262: 2169: 2125: 1836: 1442:
Set the buffer size (an integer) to another predetermined register.
1223:
and soon will read from its input stream. The kernel will generate
1180: 887: 695: 502: 226: 146: 5266: 4813: 4714: 4690: 4666: 4618: 4606: 4582: 4558: 4534: 4498: 4472:. New Delhi: Prentice-Hall of India Private Limited. p. 267. 3195: 3183: 3005: 2913: 2911: 2642: 1976:(granting the minimum privilege essential for performing a task), 1886:
data that the application has not asked for, but might need next.
1583:. All methods require some level of hardware support (such as the 560:
them based on compiler thresholds), without the usual overhead of
6116: 5815: 5436: 5078: 5066: 5023: 4915: 4842: 4840: 4779: 4777: 3351:
costs of mode switching and, more interestingly, in terms of the
2659: 2571: 2506:
file system has a master table and each file is represented as a
2175: 1637: 1076:
Software interrupts may be error conditions, such as a malformed
836: 832: 691: 675: 470: 315:
There are three main purposes that an operating system fulfills:
281: 280:-installation), whereas others may run directly from media (i.e. 5418:
Berntsson, Petter Sainio; Strandén, Lars; Warg, Fredrik (2017).
5322: 5320: 5307: 5305: 5242: 5230: 5165: 4963: 4939: 4888: 4852: 4825: 4702: 3557: 2701:
There are several reasons that the memory might be inaccessible
1929:
corruption is addressed by redundant storage (for example, RAID—
904: 5616: 4905: 4903: 4630: 3899:"Intel® 64 and IA-32 Architectures Software Developer's Manual" 3569: 3533: 3335: 3017: 2995: 2993: 2991: 2908: 2663: 2286: 2181: 1918: 1669: 1580: 1435:
Set the memory address of the memory buffer to a predetermined
867: 806: 760: 640: 478: 254: 5502: 5201:"Linus Torvalds prepares to move the Linux kernel to modern C" 5011: 4837: 4789: 4774: 4762: 4738: 4726: 4678: 3621:"Chapter Seventeen: Interrupts, Traps and Exceptions (Part 1)" 3295:"Leave your OS at home: the rise of library operating systems" 3058: 3056: 2940: 2930: 2928: 2926: 1964:—in the case of operating systems, the kernel, processes, and 594:
used by the operating system to communicate with the operator.
6065: 5565:
Silberschatz, Abraham; Galvin, Peter B.; Gagne, Greg (2018).
5317: 5302: 5136:"Mobile & Tablet Operating System Market Share Worldwide" 4570: 4546: 4522: 4510: 4486: 3521: 3487: 3485: 3470: 3446: 3434: 3422: 3173: 3171: 3169: 3167: 3140: 2804:"Mobile & Tablet Operating System Market Share Worldwide" 2314: 2298: 2258: 2250: 2212: 2003: 1584: 912:
The kernel is the part of the operating system that provides
812: 730: 726: 719: 711: 628: 222: 214: 5278: 5254: 5090: 5054: 4999: 4987: 4975: 4900: 4876: 4864: 4750: 4654: 3387: 3371: 3369: 3207: 2988: 2964: 1203:
for its output to be sent to the reader's input stream. The
928:
and is not subject to these checks. The kernel also manages
890:
must interact with the operating system to access hardware.
300:
that manages a computer's resources for its users and their
3128: 3116: 3104: 3092: 3080: 3068: 3053: 3041: 3029: 2952: 2923: 2886: 2884: 2546: 2503: 2465: 1711:
a running thread is suspended, its state is saved into the
794: 707: 683: 506: 3509: 3497: 3482: 3458: 3410: 3164: 3152: 2896: 2135: 635:
introduced the first series of intercompatible computers (
6101: 3545: 3366: 2976: 2361: 2345: 2282: 1428:
Place all the characters to be sent to the device into a
1233:
may be classified into 7 categories. The categories are:
1114: 863: 798: 632: 466: 277: 250: 3324:
Soares, Livio Baldini; Stumm, Michael (4 October 2010).
2881: 2332:
Its design is similar to other UNIX systems not using a
1553:
Among other things, a multiprogramming operating system
413:
to generate shared memory that does not actually exist.
5422:. Springer International Publishing. pp. 117–132. 5046:
sfn error: no target: CITEREFBerntssoStrandénWarg2017 (
3586: 3584: 5473:
Silberschatz, Avi; Galvin, Peter; Gagne, Greg (2008).
3388:
Arpaci-Dusseau, Remzi; Arpaci-Dusseau, Andrea (2015).
3261: 2289:
with 30.42%, and other operating systems with 0.66%.
5417: 5388: 2149:
In some cases, hobby development is in support of a "
1515:
Perform a context switch back to the writing process.
1011:
change away from the currently running program to an
5041: 3829: 3801: 3581: 3226:
Madhavapeddy, Anil; Scott, David J (November 2013).
878:) partially based on BSD code, became most popular. 614:
or operating systems. After the introduction of the
265:
and real-time systems, exist for many applications.
257:
with 30.42%, and other operating systems with .66%.
5564: 5350: 5338: 5296: 5224: 5186: 5159: 4612: 4600: 4588: 4564: 4504: 3201: 3189: 2917: 729:. Since 2008, MINIX is used in controllers of most 5438: 4150: 4105:. Addison-Wesley Publishing Company. p. 149. 4077:. Addison-Wesley Publishing Company. p. 148. 4052:. Addison-Wesley Publishing Company. p. 153. 2742:Operating Systems, Internals and Design Principles 2090:, where computer commands are typed, line-by-line, 1046:that an event has occurred. This contrasts with a 1033:restore the state after the interrupt is serviced. 493:is an operating system that guarantees to process 355: 346:great majority of code for most operating systems. 3987: 3985: 3225: 2774:"Desktop Operating System Market Share Worldwide" 2494:, which speeds up I/O for many applications. I/O 2219:provide commonalities that reduce porting costs. 1255:when a process has a tracing alert for debugging. 1106:) might terminate the currently running process. 1065:will occur, so the kernel will have to perform a 1027:transfer control to an interrupt service routine. 718:(APIs), which is supported by most UNIX systems. 16:Software that manages computer hardware resources 7176: 5459: 4461: 3868: 3866: 3864: 3862: 3860: 2116:, user input is typically from a combination of 1917:to track free blocks, commonly implemented as a 1080:. However, the most common error conditions are 1030:save the state of the currently running process. 5525: 5198: 5029: 5017: 4440:Structured Computer Organization, Third Edition 4409:Structured Computer Organization, Third Edition 4401: 4399: 4375:Structured Computer Organization, Third Edition 4367: 4365: 4204:Structured Computer Organization, Third Edition 4196: 4194: 4129:Structured Computer Organization, Third Edition 4096: 4094: 3995:Structured Computer Organization, Third Edition 3891: 3657:Structured Computer Organization, Third Edition 2422:". Unlike Linux, much of Android is written in 2265:, are collectively in third place (7%). In the 2257:is in second place (20%), and the varieties of 1246:when a process executes an illegal instruction. 793:) from around 1980. For around five years, the 273:). Others may have higher system requirements. 221:is in second place (20%), and the varieties of 35: 5366: 4846: 4819: 4807: 4795: 4783: 4768: 4744: 4732: 4720: 4696: 4684: 4672: 4648: 4624: 4576: 4552: 4540: 4528: 4516: 4492: 4100: 4072: 4047: 3982: 3750: 3748: 3746: 3744: 3742: 3647: 3575: 3563: 3539: 3213: 3023: 3011: 2999: 2970: 2946: 2934: 2902: 2368:systems. Similar to other UNIX systems, Linux 2176:Diversity of operating systems and portability 6194:Note: This template roughly follows the 2012 6170: 5643: 4312: 3957: 3857: 3682: 3287: 1960:). As with other computer systems, isolating 1587:MMU), which does not exist in all computers. 1243:when a process runs out of a system resource. 639:). All of them ran the same operating system— 350: 213:holds a dominant market share of around 68%. 110: 5585: 5556:: CS1 maint: DOI inactive as of June 2024 ( 5495:O'Brien, J. A., & Marakas, G. M.(2011). 5326: 5311: 5284: 5272: 5260: 5248: 5236: 5171: 5096: 5084: 5072: 5060: 5005: 4993: 4981: 4969: 4957: 4945: 4933: 4921: 4909: 4894: 4882: 4870: 4858: 4831: 4756: 4708: 4660: 4636: 4430: 4396: 4362: 4343: 4318: 4191: 4119: 4091: 4066: 4041: 4022: 3934: 3932: 3930: 3779: 3754: 3717: 3711: 3688: 3551: 3527: 3515: 3503: 3491: 3476: 3464: 3452: 3440: 3428: 3416: 3375: 3177: 3158: 3146: 3134: 3122: 3110: 3098: 3086: 3074: 3062: 3047: 3035: 2982: 2958: 2890: 2222: 2164:Examples of hobby operating systems include 1901:that maps a file's name and metadata to the 1532:Pop from the call stack the status register. 1502:. The vector table's instructions will then: 1252:when a process is aborted from the keyboard. 5586:Tanenbaum, Andrew S.; Bos, Herbert (2023). 5526:Richet, Jean-Loup; Bouaynaya, Wafa (2023). 4337: 3773: 3739: 3323: 932:for other processes and controls access to 6177: 6163: 5650: 5636: 5372:Operating Systems: Principles and Practice 3381: 3219: 2153:" computing device, for example, a simple 2014:. Hardware vulnerabilities, some of them 2010:attacks, which are enabled by the lack of 1183:format) to be sent. (The abrasive name of 389:—separating groups of users into separate 117: 103: 4467: 4436: 4405: 4371: 4346:Operating System Concepts, Fourth Edition 4321:Operating System Concepts, Fourth Edition 4200: 4125: 4025:Operating System Concepts, Fourth Edition 3991: 3927: 3782:Operating System Concepts, Fourth Edition 3757:Operating System Concepts, Fourth Edition 3720:Operating System Concepts, Fourth Edition 3691:Operating System Concepts, Fourth Edition 3653: 3612: 2739: 1590:In both segmentation and paging, certain 643:—which consisted of millions of lines of 291: 5588:Modern Operating Systems, Global Edition 5108: 4470:Computer Organization & Architecture 4016: 3625:The Art Of Assembly Language Programming 2443: 2302: 1770: 1657:. This kind of interrupt is typically a 1636: 1124:instruction is available. The syntax is 903: 858:was dominant at first, being usurped by 819:was the first popular computer to use a 766: 751: 585: 5532:Systèmes d'information & management 5460:Bic, Lubomur F.; Shaw, Alan C. (2003). 5391:IBM Journal of Research and Development 3963: 3941:The Design of the UNIX Operating System 3872: 3835: 3807: 3590: 2136:Operating system development as a hobby 1897:Another component of file systems is a 1361: 1298: 1042:A software interrupt is a message to a 870:(from 2007). Later on, the open-source 7177: 6894:Knowledge representation and reasoning 4167:IBM System/360 Principles of Operation 3317: 2754: 1998:Most operating systems are written in 1652: 1240:when a process has an error exception. 1199:. The writer receives a pipe from the 706:(BSD). To increase compatibility, the 416: 6919:Philosophy of artificial intelligence 6158: 5657: 5631: 5505:Control-based Operating System Design 4101:Haviland, Keith; Salama, Ben (1987). 4073:Haviland, Keith; Salama, Ben (1987). 4048:Haviland, Keith; Salama, Ben (1987). 3631:from the original on 22 December 2021 2281:share is 68.92%, followed by Apple's 1913:). Separately, there is a free space 1793:(DRAM), are still accessible after a 1259: 1037: 409:, in which the operating system uses 249:share is 68.92%, followed by Apple's 6238:Energy consumption (Green computing) 6184: 5624:and the history of operating systems 4300:from the original on 25 January 2019 4233:"Program Interrupt Controller (PIC)" 3938: 3618: 3391:Operating Systems: Three Easy Pieces 2768: 2766: 2759:. Technical Publications. p. 1. 2744:. Pearson: Prentice Hall. p. 6. 2567:List of pioneers in computer science 2433: 1931:redundant array of inexpensive disks 1542: 1525:expired, the operating system will: 1302: 939: 175:, peripherals, and other resources. 6924:Distributed artificial intelligence 6196:ACM Computing Classification System 5109:Holwerda, Thom (20 December 2009). 4156: 3361:kernel on key processor structures. 2821: 2784:from the original on 2 October 2023 2577:Glossary of operating systems terms 2241:market, as of September 2023, 1249:when a process sets an alarm event. 1086:accessing an invalid memory address 521:is an operating system that runs a 209:market, as of September 2023, 13: 6429:Integrated development environment 5359: 5042:Berntsso, StrandĂ©n & Warg 2017 4180:from the original on 19 March 2022 3915:from the original on 23 March 2022 3275:from the original on 22 April 2024 2104:For personal computers, including 2035:address space layout randomization 1730:Threads have their own thread ID, 1512:Extract the process control block. 716:application programming interfaces 267:Security-focused operating systems 31: 14: 7196: 6904:Automated planning and scheduling 6434:Software configuration management 5606: 4283:PDP-1 Input-Output Systems Manual 3398:from the original on 25 July 2016 3305:from the original on 1 March 2024 2869:from the original on 14 June 2021 2839:from the original on 13 June 2021 2763: 2704:The address might be out of range 2068: 1620: 1521:When the writing process has its 1468:the currently running process by 1237:when a process finishes normally. 747: 372:has multiple CPUs, each of which 7158: 7148: 7139: 7138: 5754:Object-oriented operating system 5199:Vaughan-Nichols, Steven (2022). 5192: 5128: 5111:"My OS Is Less Hobby than Yours" 5102: 4262:from the original on 10 May 2022 3968:. No Starch Press. p. 400. 3877:. No Starch Press. p. 388. 3840:. No Starch Press. p. 388. 3812:. No Starch Press. p. 388. 3595:. No Starch Press. p. 388. 2602:Object-oriented operating system 2229:Usage share of operating systems 2033:to reduce vulnerabilities, e.g. 1306: 1190:In Unix-like operating systems, 823:(GUI). The GUI proved much more 659:(I/O). Holding multiple jobs in 7149: 6552:Computational complexity theory 4274: 4225: 4027:. Addison-Wesley. p. 182. 3966:The Linux Programming Interface 3908:. September 2016. p. 610. 3875:The Linux Programming Interface 3838:The Linux Programming Interface 3810:The Linux Programming Interface 3722:. Addison-Wesley. p. 105. 3593:The Linux Programming Interface 2695: 2678: 2669: 2648: 2643:https://wiki.osdev.org/SYSENTER 2635: 2537:Comparison of operating systems 2233:Comparison of operating systems 2075:Operating system user interface 1509:Access the device-status table. 1293: 736:, while Linux is widespread in 356:Multicomputer operating systems 271:light-weight Linux distribution 178:For hardware functions such as 149:resources, and provides common 6336:Network performance evaluation 5764:Supercomputer operating system 5497:Management Information Systems 4348:. Addison-Wesley. p. 34. 4344:Silberschatz, Abraham (1994). 4323:. Addison-Wesley. p. 32. 4319:Silberschatz, Abraham (1994). 4023:Silberschatz, Abraham (1994). 3943:. Prentice-Hall. p. 200. 3784:. Addison-Wesley. p. 30. 3780:Silberschatz, Abraham (1994). 3759:. Addison-Wesley. p. 31. 3755:Silberschatz, Abraham (1994). 3718:Silberschatz, Abraham (1994). 3693:. Addison-Wesley. p. 32. 3689:Silberschatz, Abraham (1994). 2851: 2796: 2748: 2733: 2557:Interruptible operating system 2277:), as of September 2023, 1890:are software specific to each 1754: 1689:Process management (computing) 1678: 1406:Set the contents of the CPU's 714:standard for operating system 704:Berkeley Software Distribution 473:, and the extra-small systems 364:multiple CPUs share memory. A 245:), as of September 2023, 1: 6707:Multimedia information system 6692:Geographic information system 6682:Enterprise information system 6271:Computer systems organization 4437:Tanenbaum, Andrew S. (1990). 4406:Tanenbaum, Andrew S. (1990). 4372:Tanenbaum, Andrew S. (1990). 4291:Digital Equipment Corporation 4249:Digital Equipment Corporation 4201:Tanenbaum, Andrew S. (1990). 4173:, Eighth Edition, p. 7, 4126:Tanenbaum, Andrew S. (1990). 3992:Tanenbaum, Andrew S. (1990). 3654:Tanenbaum, Andrew S. (1990). 2863:www.acs.eonerc.rwth-aachen.de 2727: 2622:Timeline of operating systems 2364:, but still is used on large 1484:(a register) followed by the 1425:of the process control block. 968: 881: 801:(Disk Operating System) from 512: 7066:Computational social science 6654:Theoretical computer science 6467:Software development process 6243:Electronic design automation 6228:Very Large Scale Integration 5739:Just enough operating system 5724:Distributed operating system 1980:, and reducing shared data. 1974:principle of least authority 1791:dynamic random-access memory 1602:in charge. This is called a 1050:— which is a message to the 582:History of operating systems 484: 457:, and the smallest are for 233:in third place (7%). In the 7: 6889:Natural language processing 6677:Information storage systems 5852:User space and kernel space 5030:Richet & Bouaynaya 2023 5018:Richet & Bouaynaya 2023 4468:Stallings, William (2008). 2529: 2053:to expunge malicious code. 2016:caused by CPU optimizations 1941: 1839:, increase performance via 1650: 1456:to the next process in the 444:are designed to be used in 436: 395:remote direct memory access 10: 7201: 6805:Human–computer interaction 6775:Intrusion detection system 6687:Social information systems 6672:Database management system 5759:Real-time operating system 5475:Operating Systems Concepts 5370:; Dahlin, Michael (2014). 4847:Anderson & Dahlin 2014 4820:Anderson & Dahlin 2014 4808:Anderson & Dahlin 2014 4796:Anderson & Dahlin 2014 4784:Anderson & Dahlin 2014 4769:Anderson & Dahlin 2014 4745:Anderson & Dahlin 2014 4733:Anderson & Dahlin 2014 4721:Anderson & Dahlin 2014 4697:Anderson & Dahlin 2014 4685:Anderson & Dahlin 2014 4673:Anderson & Dahlin 2014 4649:Anderson & Dahlin 2014 4625:Anderson & Dahlin 2014 4577:Anderson & Dahlin 2014 4553:Anderson & Dahlin 2014 4541:Anderson & Dahlin 2014 4529:Anderson & Dahlin 2014 4517:Anderson & Dahlin 2014 4493:Anderson & Dahlin 2014 3576:Anderson & Dahlin 2014 3564:Anderson & Dahlin 2014 3540:Anderson & Dahlin 2014 3269:"Build Process - Unikraft" 3214:Anderson & Dahlin 2014 3024:Anderson & Dahlin 2014 3012:Anderson & Dahlin 2014 3000:Anderson & Dahlin 2014 2971:Anderson & Dahlin 2014 2947:Anderson & Dahlin 2014 2935:Anderson & Dahlin 2014 2903:Anderson & Dahlin 2014 2514:. The scheduling includes 2437: 2344:syntax, but also supports 2323:GNU General Public License 2296: 2226: 2139: 2072: 1945: 1764: 1758: 1682: 1630: 1624: 1546: 1379:CPU by hardware such as a 1227:to coordinate the piping. 1219:will then be moved to the 1175:of the receiving process. 972: 897: 785:enabled the production of 606:inputted on media such as 579: 575: 528: 491:real-time operating system 442:Embedded operating systems 385:. Newer systems are often 351:Types of operating systems 7134: 7071:Computational engineering 7046:Computational mathematics 7023: 6970: 6932: 6879: 6841: 6803: 6745: 6662: 6608: 6570: 6515: 6452: 6385: 6349: 6306: 6270: 6203: 6192: 6094: 6031: 5977: 5955:Multilevel feedback queue 5950:Fixed-priority preemptive 5938: 5873: 5864: 5834: 5781: 5772: 5734:Hobbyist operating system 5729:Embedded operating system 5711: 5665: 5568:Operating System Concepts 5499:. 10e. McGraw-Hill Irwin. 5445:. Pearson/Prentice Hall. 4443:. Prentice Hall. p.  4412:. Prentice Hall. p.  4378:. Prentice Hall. p.  4207:. Prentice Hall. p.  4132:. Prentice Hall. p.  3998:. Prentice Hall. p.  3964:Kerrisk, Michael (2010). 3939:Bach, Maurice J. (1986). 3873:Kerrisk, Michael (2010). 3836:Kerrisk, Michael (2010). 3808:Kerrisk, Michael (2010). 3660:. Prentice Hall. p.  3591:Kerrisk, Michael (2010). 2607:Operating System Projects 2562:List of operating systems 2476:also became priorities. 2402:and, to a lesser extent, 2350:supporting multiple users 2223:Popular operating systems 2142:Hobbyist operating system 1480:Push the contents of the 1179:is the signal number (in 1143: 1132:is the offset number (in 1056:interrupt service routine 900:Kernel (operating system) 893: 446:embedded computer systems 407:distributed shared memory 7081:Computational healthcare 7076:Differentiable computing 6995:Graphics processing unit 6414:Domain-specific language 6283:Computational complexity 5998:General protection fault 5749:Network operating system 5703:User features comparison 5546:(inactive 13 June 2024). 5351:Silberschatz et al. 2018 5339:Silberschatz et al. 2018 5327:Tanenbaum & Bos 2023 5312:Tanenbaum & Bos 2023 5297:Silberschatz et al. 2018 5285:Tanenbaum & Bos 2023 5273:Tanenbaum & Bos 2023 5261:Tanenbaum & Bos 2023 5249:Tanenbaum & Bos 2023 5237:Tanenbaum & Bos 2023 5225:Silberschatz et al. 2018 5187:Silberschatz et al. 2018 5172:Tanenbaum & Bos 2023 5160:Silberschatz et al. 2018 5140:StatCounter Global Stats 5097:Tanenbaum & Bos 2023 5085:Tanenbaum & Bos 2023 5073:Tanenbaum & Bos 2023 5061:Tanenbaum & Bos 2023 5006:Tanenbaum & Bos 2023 4994:Tanenbaum & Bos 2023 4982:Tanenbaum & Bos 2023 4970:Tanenbaum & Bos 2023 4960:, pp. 605, 617–618. 4958:Tanenbaum & Bos 2023 4946:Tanenbaum & Bos 2023 4936:, pp. 668–669, 674. 4934:Tanenbaum & Bos 2023 4922:Tanenbaum & Bos 2023 4910:Tanenbaum & Bos 2023 4895:Tanenbaum & Bos 2023 4883:Tanenbaum & Bos 2023 4871:Tanenbaum & Bos 2023 4859:Tanenbaum & Bos 2023 4832:Tanenbaum & Bos 2023 4757:Tanenbaum & Bos 2023 4709:Tanenbaum & Bos 2023 4661:Tanenbaum & Bos 2023 4637:Tanenbaum & Bos 2023 4613:Silberschatz et al. 2018 4601:Silberschatz et al. 2018 4589:Silberschatz et al. 2018 4565:Silberschatz et al. 2018 4505:Silberschatz et al. 2018 3552:Tanenbaum & Bos 2023 3528:Tanenbaum & Bos 2023 3516:Tanenbaum & Bos 2023 3504:Tanenbaum & Bos 2023 3492:Tanenbaum & Bos 2023 3477:Tanenbaum & Bos 2023 3465:Tanenbaum & Bos 2023 3453:Tanenbaum & Bos 2023 3441:Tanenbaum & Bos 2023 3429:Tanenbaum & Bos 2023 3417:Tanenbaum & Bos 2023 3376:Tanenbaum & Bos 2023 3202:Silberschatz et al. 2018 3190:Silberschatz et al. 2018 3178:Tanenbaum & Bos 2023 3159:Tanenbaum & Bos 2023 3147:Tanenbaum & Bos 2023 3135:Tanenbaum & Bos 2023 3123:Tanenbaum & Bos 2023 3111:Tanenbaum & Bos 2023 3099:Tanenbaum & Bos 2023 3087:Tanenbaum & Bos 2023 3075:Tanenbaum & Bos 2023 3063:Tanenbaum & Bos 2023 3048:Tanenbaum & Bos 2023 3036:Tanenbaum & Bos 2023 2983:Tanenbaum & Bos 2023 2959:Tanenbaum & Bos 2023 2918:Silberschatz et al. 2018 2891:Tanenbaum & Bos 2023 2808:StatCounter Global Stats 2778:StatCounter Global Stats 2628: 2597:Network operating system 2406:needing a GUI, such as " 2386:graphical user interface 2292: 2094:graphical user interface 1958:denial of service attack 1909:(often implemented as a 1717:cooperative multitasking 1653:§ Memory management 1615:general protection fault 1096:command-line environment 949:by the operating system 821:graphical user interface 772:Graphical user interface 700:University of California 535:library operating system 425:is a group of distinct, 284:) or flash memory (i.e. 190:to an OS function or is 7056:Computational chemistry 6990:Photograph manipulation 6881:Artificial intelligence 6697:Decision support system 5744:Mobile operating system 4103:UNIX System Programming 4075:UNIX System Programming 4050:UNIX System Programming 3240:10.1145/2557963.2566628 2592:Mobile operating system 2516:preemptive multitasking 2354:preemptive multitasking 1725:preemptive multitasking 1398:to perform a block I/O 1156:operating systems, the 1052:central processing unit 1017:central processing unit 1005:central processing unit 783:large scale integration 401:where a CPU can call a 323:(CPU) time or space in 321:central processing unit 7121:Educational technology 6952:Reinforcement learning 6702:Process control system 6600:Computational geometry 6590:Algorithmic efficiency 6585:Analysis of algorithms 6233:Systems on Chip (SoCs) 5847:Loadable kernel module 5571:(10 ed.). Wiley. 5544:10.54695/sim.28.1.0087 4241:Users Handbook - PDP-7 4157:IBM (September 1968), 3619:Hyde, Randall (1996). 2449: 2428:object-oriented design 2414:, airplane seatbacks, 2321:distributed under the 2311: 2088:command-line interface 2057:advises releasing the 2039:control-flow integrity 1783: 1642: 1604:segmentation violation 1500:interrupt vector table 1138:interrupt vector table 909: 862:(introduced 2002) and 829:command-line interface 778: 764: 757:Command-line interface 666:Around the same time, 647:that had thousands of 625:Fortran Monitor System 595: 399:remote procedure calls 292:Definition and purpose 42: 7091:Electronic publishing 7061:Computational biology 7051:Computational physics 6947:Unsupervised learning 6861:Distributed computing 6737:Information retrieval 6644:Mathematical analysis 6634:Mathematical software 6517:Theory of computation 6482:Software construction 6472:Requirements analysis 6350:Software organization 6278:Computer architecture 6248:Hardware acceleration 6213:Printed circuit board 5915:Process control block 5881:Computer multitasking 5719:Disk operating system 5590:. Pearson Higher Ed. 5479:John Wiley & Sons 5275:, pp. 1021–1022. 3301:. 14 September 2017. 2755:Dhotre, I.A. (2009). 2645:for more information. 2447: 2412:automotive dashboards 2306: 2227:Further information: 2217:OS abstraction layers 2155:single-board computer 2063:security by obscurity 1873:(which are sometimes 1774: 1685:Computer multitasking 1640: 1631:Further information: 1449:to begin the writing. 1416:process control block 1197:reader/writer problem 963:OS/360 and successors 907: 770: 755: 612:programming languages 589: 41: 6851:Concurrent computing 6823:Ubiquitous computing 6795:Application security 6790:Information security 6619:Discrete mathematics 6595:Randomized algorithm 6547:Computability theory 6525:Model of computation 6497:Software maintenance 6492:Software engineering 6454:Software development 6404:Programming language 6399:Programming paradigm 6316:Network architecture 6086:Virtual tape library 5678:Forensic engineering 5087:, pp. 395, 408. 5075:, pp. 396, 402. 4924:, pp. 648, 657. 4810:, pp. 589, 591. 4651:, pp. 517, 530. 4627:, pp. 492, 517. 4543:, pp. 157, 159. 3014:, pp. 7, 9, 13. 2520:access-control lists 2500:Windows Driver Model 1978:privilege separation 1713:thread control block 1665:been allocated yet. 1385:direct memory access 1362:Direct memory access 1356:Interrupt-driven I/O 1299:Interrupt-driven I/O 1284:Direct memory access 1167:to another process. 670:began to be used as 570:instruction pipeline 547:single address space 461:. Examples include 453:run in less than 10 7126:Document management 7116:Operations research 7041:Enterprise software 6957:Multi-task learning 6942:Supervised learning 6664:Information systems 6487:Software deployment 6444:Software repository 6298:Real-time computing 6095:Supporting concepts 6081:Virtual file system 5403:10.1147/rd.255.0471 5374:. Recursive Books. 5251:, pp. 793–794. 5239:, pp. 715–716. 5174:, pp. 713–714. 5162:, pp. 779–780. 5044:, pp. 130–131. 4972:, pp. 681–682. 4948:, pp. 679–680. 4897:, pp. 609–610. 4861:, pp. 605–606. 4834:, pp. 385–386. 4822:, pp. 591–592. 4723:, pp. 502–504. 4711:, pp. 274–275. 4699:, pp. 496–497. 4675:, pp. 492–493. 4639:, pp. 259–260. 4603:, pp. 162–163. 3627:. No Starch Press. 2484:kernel-mode objects 2336:. It is written in 2159:6502 microprocessor 2055:Andrew S. Tanenbaum 2043:access restrictions 2027:formal verification 1767:Virtual file system 1577:memory segmentation 1447:machine instruction 1225:software interrupts 1150:software interrupts 1111:software interrupts 1100:interrupt character 1078:machine instruction 926:unrestricted powers 854:On mobile devices, 827:than the text-only 448:, whether they are 417:Distributed systems 405:on another CPU, or 259:Linux distributions 6909:Search methodology 6856:Parallel computing 6813:Interaction design 6722:Computing platform 6649:Numerical analysis 6639:Information theory 6424:Software framework 6387:Software notations 6326:Network components 6223:Integrated circuit 6018:Segmentation fault 5866:Process management 4293:. pp. 19–20. 3566:, pp. 41, 45. 2740:Stallings (2005). 2690:SCSI RDMA Protocol 2462:enterprise servers 2450: 2372:are composed of a 2312: 2269:sector (including 2194:software platforms 1784: 1742:, but share code, 1643: 1372:solid-state drives 1318:. You can help by 1260:Hardware interrupt 1173:process identifier 1048:hardware interrupt 1038:Software interrupt 983:(also known as an 918:malicious software 910: 849:enterprise systems 789:(initially called 787:personal computers 779: 765: 618:in the mid-1950s, 596: 554:protection domains 450:internet of things 423:distributed system 374:has its own memory 237:sector (including 163:operating systems 56:Process management 43: 7185:Operating systems 7172: 7171: 7101:Electronic voting 7031:Quantum Computing 7024:Applied computing 7010:Image compression 6780:Hardware security 6770:Security services 6727:Digital marketing 6507:Open-source model 6419:Modeling language 6331:Network scheduler 6152: 6151: 6008:Memory protection 5979:Memory management 5973: 5972: 5965:Shortest job next 5860: 5859: 5659:Operating systems 5613:Operating Systems 5597:978-1-292-72789-9 5578:978-1-119-32091-3 5518:978-1-84919-609-3 5488:978-0-470-12872-5 5462:Operating Systems 5452:978-0-13-092641-8 5441:Operating Systems 5429:978-3-319-65948-0 5381:978-0-9856735-2-9 5032:, pp. 92–93. 4479:978-81-203-2962-1 4454:978-0-13-854662-5 4423:978-0-13-854662-5 4389:978-0-13-854662-5 4355:978-0-201-50480-4 4330:978-0-201-50480-4 4251:. 1965. pp.  4218:978-0-13-854662-5 4143:978-0-13-854662-5 4034:978-0-201-50480-4 4009:978-0-13-854662-5 3975:978-1-59327-220-3 3906:Intel Corporation 3884:978-1-59327-220-3 3847:978-1-59327-220-3 3819:978-1-59327-220-3 3791:978-0-201-50480-4 3766:978-0-201-50480-4 3729:978-0-201-50480-4 3700:978-0-201-50480-4 3671:978-0-13-854662-5 3602:978-1-59327-220-3 3578:, pp. 52–53. 3542:, pp. 39–40. 3530:, pp. 19–20. 3479:, pp. 15–16. 3455:, pp. 14–15. 3443:, pp. 13–14. 3431:, pp. 11–12. 3149:, pp. 37–38. 3026:, pp. 12–13. 2757:Operating Systems 2654:Examples include 2542:Crash (computing) 2480:Windows Executive 2470:energy efficiency 2440:Microsoft Windows 2434:Microsoft Windows 2310:of a Linux system 2243:Microsoft Windows 2239:personal computer 1985:monolithic kernel 1948:Computer security 1819:solid-state drive 1569:Memory protection 1549:Memory management 1543:Memory management 1474:interrupt request 1336: 1335: 1279:or busy waiting. 1122:assembly language 1013:interrupt handler 940:Program execution 781:The invention of 645:assembly language 298:layer of software 211:Microsoft Windows 207:personal computer 184:memory allocation 155:computer programs 143:computer hardware 127: 126: 66:Memory management 25:Operating systems 7192: 7162: 7161: 7152: 7151: 7142: 7141: 6962:Cross-validation 6934:Machine learning 6818:Social computing 6785:Network security 6580:Algorithm design 6502:Programming team 6462:Control variable 6439:Software library 6377:Software quality 6372:Operating system 6321:Network protocol 6186:Computer science 6179: 6172: 6165: 6156: 6155: 6107:Computer network 5871: 5870: 5779: 5778: 5652: 5645: 5638: 5629: 5628: 5601: 5582: 5561: 5555: 5547: 5522: 5492: 5469: 5456: 5444: 5433: 5414: 5385: 5368:Anderson, Thomas 5354: 5348: 5342: 5336: 5330: 5324: 5315: 5309: 5300: 5294: 5288: 5282: 5276: 5270: 5264: 5258: 5252: 5246: 5240: 5234: 5228: 5222: 5216: 5215: 5213: 5211: 5196: 5190: 5184: 5175: 5169: 5163: 5157: 5151: 5150: 5148: 5146: 5132: 5126: 5125: 5123: 5121: 5106: 5100: 5094: 5088: 5082: 5076: 5070: 5064: 5058: 5052: 5051: 5039: 5033: 5027: 5021: 5015: 5009: 5003: 4997: 4991: 4985: 4979: 4973: 4967: 4961: 4955: 4949: 4943: 4937: 4931: 4925: 4919: 4913: 4907: 4898: 4892: 4886: 4880: 4874: 4868: 4862: 4856: 4850: 4844: 4835: 4829: 4823: 4817: 4811: 4805: 4799: 4793: 4787: 4781: 4772: 4766: 4760: 4754: 4748: 4742: 4736: 4730: 4724: 4718: 4712: 4706: 4700: 4694: 4688: 4682: 4676: 4670: 4664: 4658: 4652: 4646: 4640: 4634: 4628: 4622: 4616: 4610: 4604: 4598: 4592: 4586: 4580: 4574: 4568: 4562: 4556: 4550: 4544: 4538: 4532: 4526: 4520: 4514: 4508: 4502: 4496: 4490: 4484: 4483: 4465: 4459: 4458: 4434: 4428: 4427: 4403: 4394: 4393: 4369: 4360: 4359: 4341: 4335: 4334: 4316: 4310: 4309: 4307: 4305: 4299: 4288: 4278: 4272: 4271: 4269: 4267: 4261: 4246: 4237: 4229: 4223: 4222: 4198: 4189: 4188: 4187: 4185: 4179: 4172: 4163: 4154: 4148: 4147: 4123: 4117: 4116: 4098: 4089: 4088: 4070: 4064: 4063: 4045: 4039: 4038: 4020: 4014: 4013: 3989: 3980: 3979: 3961: 3955: 3954: 3936: 3925: 3924: 3922: 3920: 3914: 3903: 3895: 3889: 3888: 3870: 3855: 3854: 3833: 3827: 3826: 3805: 3799: 3798: 3777: 3771: 3770: 3752: 3737: 3736: 3715: 3709: 3708: 3686: 3680: 3679: 3651: 3645: 3644: 3638: 3636: 3616: 3610: 3609: 3588: 3579: 3573: 3567: 3561: 3555: 3549: 3543: 3537: 3531: 3525: 3519: 3513: 3507: 3501: 3495: 3489: 3480: 3474: 3468: 3462: 3456: 3450: 3444: 3438: 3432: 3426: 3420: 3414: 3408: 3407: 3405: 3403: 3385: 3379: 3373: 3364: 3363: 3359: 3344: 3342: 3321: 3315: 3314: 3312: 3310: 3291: 3285: 3284: 3282: 3280: 3265: 3259: 3258: 3256: 3254: 3223: 3217: 3211: 3205: 3199: 3193: 3187: 3181: 3175: 3162: 3156: 3150: 3144: 3138: 3132: 3126: 3120: 3114: 3108: 3102: 3096: 3090: 3084: 3078: 3072: 3066: 3060: 3051: 3045: 3039: 3033: 3027: 3021: 3015: 3009: 3003: 2997: 2986: 2980: 2974: 2968: 2962: 2956: 2950: 2949:, pp. 9–10. 2944: 2938: 2932: 2921: 2915: 2906: 2900: 2894: 2888: 2879: 2878: 2876: 2874: 2855: 2849: 2848: 2846: 2844: 2825: 2819: 2818: 2816: 2814: 2800: 2794: 2793: 2791: 2789: 2770: 2761: 2760: 2752: 2746: 2745: 2737: 2721: 2699: 2693: 2682: 2676: 2673: 2667: 2652: 2646: 2639: 2612:System Commander 2524:integrity levels 2472:and support for 2404:embedded systems 2382:system utilities 2378:system libraries 2245:has the highest 2206:system libraries 2110:tablet computers 1966:virtual machines 1962:security domains 1656: 1392:computer program 1368:hard disk drives 1366:Devices such as 1331: 1328: 1310: 1303: 1218: 1214: 1210: 1186: 1178: 1170: 1159: 1158:kill(pid,signum) 1131: 1127: 1082:division by zero 1071:computer program 1019:(CPU) to have a 1007:(CPU) to have a 841:legal settlement 763:operating system 653:multiprogramming 631:. In the 1960s, 562:context switches 370:cluster computer 180:input and output 131:operating system 119: 112: 105: 34: 21: 20: 7200: 7199: 7195: 7194: 7193: 7191: 7190: 7189: 7175: 7174: 7173: 7168: 7159: 7130: 7111:Word processing 7019: 7005:Virtual reality 6966: 6928: 6899:Computer vision 6875: 6871:Multiprocessing 6837: 6799: 6765:Security hacker 6741: 6717:Digital library 6658: 6609:Mathematics of 6604: 6566: 6542:Automata theory 6537:Formal language 6511: 6477:Software design 6448: 6381: 6367:Virtual machine 6345: 6341:Network service 6302: 6293:Embedded system 6266: 6199: 6188: 6183: 6153: 6148: 6090: 6051:Defragmentation 6036: 6027: 6013:Protection ring 5982: 5969: 5941: 5934: 5856: 5830: 5768: 5707: 5661: 5656: 5622:Multics History 5609: 5604: 5598: 5579: 5549: 5548: 5519: 5489: 5453: 5430: 5382: 5362: 5360:Further reading 5357: 5349: 5345: 5337: 5333: 5329:, p. 1036. 5325: 5318: 5314:, p. 1035. 5310: 5303: 5295: 5291: 5283: 5279: 5271: 5267: 5259: 5255: 5247: 5243: 5235: 5231: 5223: 5219: 5209: 5207: 5197: 5193: 5185: 5178: 5170: 5166: 5158: 5154: 5144: 5142: 5134: 5133: 5129: 5119: 5117: 5107: 5103: 5095: 5091: 5083: 5079: 5071: 5067: 5059: 5055: 5045: 5040: 5036: 5028: 5024: 5016: 5012: 5004: 5000: 4992: 4988: 4980: 4976: 4968: 4964: 4956: 4952: 4944: 4940: 4932: 4928: 4920: 4916: 4908: 4901: 4893: 4889: 4881: 4877: 4869: 4865: 4857: 4853: 4845: 4838: 4830: 4826: 4818: 4814: 4806: 4802: 4794: 4790: 4782: 4775: 4767: 4763: 4755: 4751: 4743: 4739: 4731: 4727: 4719: 4715: 4707: 4703: 4695: 4691: 4683: 4679: 4671: 4667: 4659: 4655: 4647: 4643: 4635: 4631: 4623: 4619: 4611: 4607: 4599: 4595: 4587: 4583: 4575: 4571: 4563: 4559: 4551: 4547: 4539: 4535: 4527: 4523: 4515: 4511: 4503: 4499: 4491: 4487: 4480: 4466: 4462: 4455: 4435: 4431: 4424: 4404: 4397: 4390: 4370: 4363: 4356: 4342: 4338: 4331: 4317: 4313: 4303: 4301: 4297: 4286: 4280: 4279: 4275: 4265: 4263: 4259: 4244: 4235: 4231: 4230: 4226: 4219: 4199: 4192: 4183: 4181: 4177: 4170: 4161: 4155: 4151: 4144: 4124: 4120: 4113: 4099: 4092: 4085: 4071: 4067: 4060: 4046: 4042: 4035: 4021: 4017: 4010: 3990: 3983: 3976: 3962: 3958: 3951: 3937: 3928: 3918: 3916: 3912: 3901: 3897: 3896: 3892: 3885: 3871: 3858: 3848: 3834: 3830: 3820: 3806: 3802: 3792: 3778: 3774: 3767: 3753: 3740: 3730: 3716: 3712: 3701: 3687: 3683: 3672: 3652: 3648: 3634: 3632: 3617: 3613: 3603: 3589: 3582: 3574: 3570: 3562: 3558: 3550: 3546: 3538: 3534: 3526: 3522: 3514: 3510: 3502: 3498: 3490: 3483: 3475: 3471: 3463: 3459: 3451: 3447: 3439: 3435: 3427: 3423: 3415: 3411: 3401: 3399: 3386: 3382: 3374: 3367: 3357: 3340: 3338: 3322: 3318: 3308: 3306: 3293: 3292: 3288: 3278: 3276: 3267: 3266: 3262: 3252: 3250: 3224: 3220: 3212: 3208: 3204:, pp. 705. 3200: 3196: 3192:, pp. 701. 3188: 3184: 3176: 3165: 3157: 3153: 3145: 3141: 3133: 3129: 3121: 3117: 3109: 3105: 3097: 3093: 3085: 3081: 3073: 3069: 3061: 3054: 3046: 3042: 3034: 3030: 3022: 3018: 3010: 3006: 2998: 2989: 2981: 2977: 2969: 2965: 2961:, pp. 6–7. 2957: 2953: 2945: 2941: 2933: 2924: 2916: 2909: 2901: 2897: 2889: 2882: 2872: 2870: 2857: 2856: 2852: 2842: 2840: 2833:www.oreilly.com 2827: 2826: 2822: 2812: 2810: 2802: 2801: 2797: 2787: 2785: 2772: 2771: 2764: 2753: 2749: 2738: 2734: 2730: 2725: 2724: 2700: 2696: 2683: 2679: 2674: 2670: 2653: 2649: 2640: 2636: 2631: 2626: 2582:Microcontroller 2532: 2474:dynamic devices 2442: 2436: 2420:home appliances 2416:medical devices 2301: 2295: 2235: 2225: 2178: 2144: 2138: 2077: 2071: 2012:bounds checking 2008:buffer overflow 1950: 1944: 1878:of memory in a 1769: 1763: 1757: 1732:program counter 1691: 1681: 1635: 1629: 1623: 1596:supervisor mode 1551: 1545: 1486:status register 1482:program counter 1437:device register 1412:program counter 1410:(including the 1364: 1332: 1326: 1323: 1316:needs expansion 1301: 1296: 1262: 1216: 1212: 1208: 1184: 1176: 1168: 1157: 1146: 1136:format) to the 1129: 1125: 1098:, pressing the 1040: 977: 971: 942: 902: 896: 884: 839:) that a large 750: 680:cloud computing 584: 578: 531: 523:virtual machine 515: 487: 439: 419: 378:cloud computing 362:multiprocessors 358: 353: 310:system programs 294: 139:system software 123: 48:Common features 40: 32: 17: 12: 11: 5: 7198: 7188: 7187: 7170: 7169: 7167: 7166: 7156: 7146: 7135: 7132: 7131: 7129: 7128: 7123: 7118: 7113: 7108: 7103: 7098: 7093: 7088: 7083: 7078: 7073: 7068: 7063: 7058: 7053: 7048: 7043: 7038: 7033: 7027: 7025: 7021: 7020: 7018: 7017: 7015:Solid modeling 7012: 7007: 7002: 6997: 6992: 6987: 6982: 6976: 6974: 6968: 6967: 6965: 6964: 6959: 6954: 6949: 6944: 6938: 6936: 6930: 6929: 6927: 6926: 6921: 6916: 6914:Control method 6911: 6906: 6901: 6896: 6891: 6885: 6883: 6877: 6876: 6874: 6873: 6868: 6866:Multithreading 6863: 6858: 6853: 6847: 6845: 6839: 6838: 6836: 6835: 6830: 6825: 6820: 6815: 6809: 6807: 6801: 6800: 6798: 6797: 6792: 6787: 6782: 6777: 6772: 6767: 6762: 6760:Formal methods 6757: 6751: 6749: 6743: 6742: 6740: 6739: 6734: 6732:World Wide Web 6729: 6724: 6719: 6714: 6709: 6704: 6699: 6694: 6689: 6684: 6679: 6674: 6668: 6666: 6660: 6659: 6657: 6656: 6651: 6646: 6641: 6636: 6631: 6626: 6621: 6615: 6613: 6606: 6605: 6603: 6602: 6597: 6592: 6587: 6582: 6576: 6574: 6568: 6567: 6565: 6564: 6559: 6554: 6549: 6544: 6539: 6534: 6533: 6532: 6521: 6519: 6513: 6512: 6510: 6509: 6504: 6499: 6494: 6489: 6484: 6479: 6474: 6469: 6464: 6458: 6456: 6450: 6449: 6447: 6446: 6441: 6436: 6431: 6426: 6421: 6416: 6411: 6406: 6401: 6395: 6393: 6383: 6382: 6380: 6379: 6374: 6369: 6364: 6359: 6353: 6351: 6347: 6346: 6344: 6343: 6338: 6333: 6328: 6323: 6318: 6312: 6310: 6304: 6303: 6301: 6300: 6295: 6290: 6285: 6280: 6274: 6272: 6268: 6267: 6265: 6264: 6255: 6250: 6245: 6240: 6235: 6230: 6225: 6220: 6215: 6209: 6207: 6201: 6200: 6193: 6190: 6189: 6182: 6181: 6174: 6167: 6159: 6150: 6149: 6147: 6146: 6141: 6140: 6139: 6137:User interface 6134: 6124: 6119: 6114: 6109: 6104: 6098: 6096: 6092: 6091: 6089: 6088: 6083: 6078: 6073: 6068: 6063: 6061:File attribute 6058: 6053: 6048: 6042: 6040: 6029: 6028: 6026: 6025: 6023:Virtual memory 6020: 6015: 6010: 6005: 6000: 5995: 5989: 5987: 5975: 5974: 5971: 5970: 5968: 5967: 5962: 5957: 5952: 5946: 5944: 5936: 5935: 5933: 5932: 5927: 5922: 5917: 5912: 5907: 5902: 5897: 5895:Context switch 5892: 5877: 5875: 5868: 5862: 5861: 5858: 5857: 5855: 5854: 5849: 5844: 5838: 5836: 5832: 5831: 5829: 5828: 5823: 5818: 5813: 5808: 5803: 5798: 5793: 5787: 5785: 5776: 5770: 5769: 5767: 5766: 5761: 5756: 5751: 5746: 5741: 5736: 5731: 5726: 5721: 5715: 5713: 5709: 5708: 5706: 5705: 5700: 5695: 5690: 5685: 5680: 5675: 5669: 5667: 5663: 5662: 5655: 5654: 5647: 5640: 5632: 5626: 5625: 5619: 5608: 5607:External links 5605: 5603: 5602: 5596: 5583: 5577: 5562: 5523: 5517: 5500: 5493: 5487: 5470: 5457: 5451: 5434: 5428: 5415: 5397:(5): 471–482. 5386: 5380: 5363: 5361: 5358: 5356: 5355: 5353:, p. 827. 5343: 5341:, p. 821. 5331: 5316: 5301: 5299:, p. 826. 5289: 5287:, p. 871. 5277: 5265: 5263:, p. 793. 5253: 5241: 5229: 5227:, p. 781. 5217: 5191: 5189:, p. 780. 5176: 5164: 5152: 5127: 5101: 5099:, p. 402. 5089: 5077: 5065: 5063:, p. 611. 5053: 5034: 5022: 5010: 5008:, p. 689. 4998: 4996:, p. 685. 4986: 4984:, p. 683. 4974: 4962: 4950: 4938: 4926: 4914: 4912:, p. 612. 4899: 4887: 4885:, p. 609. 4875: 4873:, p. 608. 4863: 4851: 4849:, p. 592. 4836: 4824: 4812: 4800: 4798:, p. 547. 4788: 4786:, p. 546. 4773: 4771:, p. 545. 4761: 4759:, p. 359. 4749: 4747:, p. 508. 4737: 4735:, p. 507. 4725: 4713: 4701: 4689: 4687:, p. 496. 4677: 4665: 4663:, p. 260. 4653: 4641: 4629: 4617: 4615:, p. 164. 4605: 4593: 4591:, p. 162. 4581: 4579:, p. 183. 4569: 4567:, p. 160. 4557: 4555:, p. 139. 4545: 4533: 4531:, p. 131. 4521: 4519:, p. 130. 4509: 4507:, p. 159. 4497: 4495:, p. 129. 4485: 4478: 4460: 4453: 4429: 4422: 4395: 4388: 4361: 4354: 4336: 4329: 4311: 4273: 4224: 4217: 4190: 4159:"Main Storage" 4149: 4142: 4118: 4111: 4090: 4083: 4065: 4058: 4040: 4033: 4015: 4008: 3981: 3974: 3956: 3949: 3926: 3890: 3883: 3856: 3846: 3828: 3818: 3800: 3790: 3772: 3765: 3738: 3728: 3710: 3699: 3681: 3670: 3646: 3611: 3601: 3580: 3568: 3556: 3544: 3532: 3520: 3508: 3496: 3481: 3469: 3457: 3445: 3433: 3421: 3409: 3380: 3365: 3316: 3286: 3260: 3218: 3206: 3194: 3182: 3163: 3151: 3139: 3137:, p. 581. 3127: 3125:, p. 579. 3115: 3113:, p. 571. 3103: 3101:, p. 569. 3091: 3089:, p. 563. 3079: 3077:, p. 562. 3067: 3065:, p. 565. 3052: 3050:, p. 558. 3040: 3038:, p. 557. 3028: 3016: 3004: 2987: 2975: 2963: 2951: 2939: 2922: 2907: 2895: 2880: 2850: 2820: 2795: 2762: 2747: 2731: 2729: 2726: 2723: 2722: 2720: 2719: 2708: 2705: 2694: 2677: 2668: 2647: 2633: 2632: 2630: 2627: 2625: 2624: 2619: 2614: 2609: 2604: 2599: 2594: 2589: 2584: 2579: 2574: 2569: 2564: 2559: 2554: 2549: 2544: 2539: 2533: 2531: 2528: 2496:device drivers 2492:virtual memory 2438:Main article: 2435: 2432: 2384:. Linux has a 2366:multiprocessor 2352:and employing 2297:Main article: 2294: 2291: 2249:, around 68%. 2224: 2221: 2177: 2174: 2140:Main article: 2137: 2134: 2102: 2101: 2091: 2081:user interface 2073:Main article: 2070: 2069:User interface 2067: 1970:attack surface 1946:Main article: 1943: 1940: 1888:Device drivers 1865:subdirectories 1861:root directory 1859:begins at the 1811:magnetic disks 1809:consisting of 1759:Main article: 1756: 1753: 1709:context switch 1680: 1677: 1627:Virtual memory 1625:Main article: 1622: 1621:Virtual memory 1619: 1598:, placing the 1592:protected mode 1547:Main article: 1544: 1541: 1537: 1536: 1533: 1530: 1519: 1518: 1517: 1516: 1513: 1510: 1504: 1503: 1496: 1493: 1462: 1461: 1454:context switch 1450: 1443: 1440: 1433: 1426: 1423:memory address 1419: 1363: 1360: 1334: 1333: 1313: 1311: 1300: 1297: 1295: 1292: 1261: 1258: 1257: 1256: 1253: 1250: 1247: 1244: 1241: 1238: 1145: 1142: 1067:context switch 1039: 1036: 1035: 1034: 1031: 1028: 1021:context switch 973:Main article: 970: 967: 961:facilities of 941: 938: 898:Main article: 895: 892: 883: 880: 791:microcomputers 749: 748:Microcomputers 746: 580:Main article: 577: 574: 530: 527: 514: 511: 486: 483: 463:Embedded Linux 438: 435: 418: 415: 411:virtualization 357: 354: 352: 349: 348: 347: 343: 340:virtual memory 336:Virtualization 328: 293: 290: 200:supercomputers 169:processor time 165:schedule tasks 125: 124: 122: 121: 114: 107: 99: 96: 95: 94: 93: 88: 83: 78: 76:Device drivers 73: 68: 63: 58: 50: 49: 45: 44: 28: 27: 15: 9: 6: 4: 3: 2: 7197: 7186: 7183: 7182: 7180: 7165: 7157: 7155: 7147: 7145: 7137: 7136: 7133: 7127: 7124: 7122: 7119: 7117: 7114: 7112: 7109: 7107: 7104: 7102: 7099: 7097: 7094: 7092: 7089: 7087: 7084: 7082: 7079: 7077: 7074: 7072: 7069: 7067: 7064: 7062: 7059: 7057: 7054: 7052: 7049: 7047: 7044: 7042: 7039: 7037: 7034: 7032: 7029: 7028: 7026: 7022: 7016: 7013: 7011: 7008: 7006: 7003: 7001: 7000:Mixed reality 6998: 6996: 6993: 6991: 6988: 6986: 6983: 6981: 6978: 6977: 6975: 6973: 6969: 6963: 6960: 6958: 6955: 6953: 6950: 6948: 6945: 6943: 6940: 6939: 6937: 6935: 6931: 6925: 6922: 6920: 6917: 6915: 6912: 6910: 6907: 6905: 6902: 6900: 6897: 6895: 6892: 6890: 6887: 6886: 6884: 6882: 6878: 6872: 6869: 6867: 6864: 6862: 6859: 6857: 6854: 6852: 6849: 6848: 6846: 6844: 6840: 6834: 6833:Accessibility 6831: 6829: 6828:Visualization 6826: 6824: 6821: 6819: 6816: 6814: 6811: 6810: 6808: 6806: 6802: 6796: 6793: 6791: 6788: 6786: 6783: 6781: 6778: 6776: 6773: 6771: 6768: 6766: 6763: 6761: 6758: 6756: 6753: 6752: 6750: 6748: 6744: 6738: 6735: 6733: 6730: 6728: 6725: 6723: 6720: 6718: 6715: 6713: 6710: 6708: 6705: 6703: 6700: 6698: 6695: 6693: 6690: 6688: 6685: 6683: 6680: 6678: 6675: 6673: 6670: 6669: 6667: 6665: 6661: 6655: 6652: 6650: 6647: 6645: 6642: 6640: 6637: 6635: 6632: 6630: 6627: 6625: 6622: 6620: 6617: 6616: 6614: 6612: 6607: 6601: 6598: 6596: 6593: 6591: 6588: 6586: 6583: 6581: 6578: 6577: 6575: 6573: 6569: 6563: 6560: 6558: 6555: 6553: 6550: 6548: 6545: 6543: 6540: 6538: 6535: 6531: 6528: 6527: 6526: 6523: 6522: 6520: 6518: 6514: 6508: 6505: 6503: 6500: 6498: 6495: 6493: 6490: 6488: 6485: 6483: 6480: 6478: 6475: 6473: 6470: 6468: 6465: 6463: 6460: 6459: 6457: 6455: 6451: 6445: 6442: 6440: 6437: 6435: 6432: 6430: 6427: 6425: 6422: 6420: 6417: 6415: 6412: 6410: 6407: 6405: 6402: 6400: 6397: 6396: 6394: 6392: 6388: 6384: 6378: 6375: 6373: 6370: 6368: 6365: 6363: 6360: 6358: 6355: 6354: 6352: 6348: 6342: 6339: 6337: 6334: 6332: 6329: 6327: 6324: 6322: 6319: 6317: 6314: 6313: 6311: 6309: 6305: 6299: 6296: 6294: 6291: 6289: 6288:Dependability 6286: 6284: 6281: 6279: 6276: 6275: 6273: 6269: 6263: 6259: 6256: 6254: 6251: 6249: 6246: 6244: 6241: 6239: 6236: 6234: 6231: 6229: 6226: 6224: 6221: 6219: 6216: 6214: 6211: 6210: 6208: 6206: 6202: 6197: 6191: 6187: 6180: 6175: 6173: 6168: 6166: 6161: 6160: 6157: 6145: 6142: 6138: 6135: 6133: 6130: 6129: 6128: 6125: 6123: 6120: 6118: 6115: 6113: 6110: 6108: 6105: 6103: 6100: 6099: 6097: 6093: 6087: 6084: 6082: 6079: 6077: 6074: 6072: 6069: 6067: 6064: 6062: 6059: 6057: 6054: 6052: 6049: 6047: 6044: 6043: 6041: 6039: 6034: 6030: 6024: 6021: 6019: 6016: 6014: 6011: 6009: 6006: 6004: 6003:Memory paging 6001: 5999: 5996: 5994: 5991: 5990: 5988: 5985: 5980: 5976: 5966: 5963: 5961: 5958: 5956: 5953: 5951: 5948: 5947: 5945: 5943: 5937: 5931: 5928: 5926: 5923: 5921: 5918: 5916: 5913: 5911: 5908: 5906: 5903: 5901: 5898: 5896: 5893: 5890: 5886: 5882: 5879: 5878: 5876: 5872: 5869: 5867: 5863: 5853: 5850: 5848: 5845: 5843: 5842:Device driver 5840: 5839: 5837: 5833: 5827: 5824: 5822: 5819: 5817: 5814: 5812: 5809: 5807: 5804: 5802: 5799: 5797: 5794: 5792: 5789: 5788: 5786: 5784: 5783:Architectures 5780: 5777: 5775: 5771: 5765: 5762: 5760: 5757: 5755: 5752: 5750: 5747: 5745: 5742: 5740: 5737: 5735: 5732: 5730: 5727: 5725: 5722: 5720: 5717: 5716: 5714: 5710: 5704: 5701: 5699: 5696: 5694: 5691: 5689: 5686: 5684: 5681: 5679: 5676: 5674: 5671: 5670: 5668: 5664: 5660: 5653: 5648: 5646: 5641: 5639: 5634: 5633: 5630: 5623: 5620: 5618: 5614: 5611: 5610: 5599: 5593: 5589: 5584: 5580: 5574: 5570: 5569: 5563: 5559: 5553: 5545: 5541: 5538:(1): 87–114. 5537: 5533: 5529: 5524: 5520: 5514: 5510: 5506: 5501: 5498: 5494: 5490: 5484: 5480: 5476: 5471: 5467: 5466:Prentice Hall 5463: 5458: 5454: 5448: 5443: 5442: 5435: 5431: 5425: 5421: 5416: 5412: 5408: 5404: 5400: 5396: 5392: 5387: 5383: 5377: 5373: 5369: 5365: 5364: 5352: 5347: 5340: 5335: 5328: 5323: 5321: 5313: 5308: 5306: 5298: 5293: 5286: 5281: 5274: 5269: 5262: 5257: 5250: 5245: 5238: 5233: 5226: 5221: 5206: 5202: 5195: 5188: 5183: 5181: 5173: 5168: 5161: 5156: 5141: 5137: 5131: 5116: 5112: 5105: 5098: 5093: 5086: 5081: 5074: 5069: 5062: 5057: 5049: 5043: 5038: 5031: 5026: 5020:, p. 92. 5019: 5014: 5007: 5002: 4995: 4990: 4983: 4978: 4971: 4966: 4959: 4954: 4947: 4942: 4935: 4930: 4923: 4918: 4911: 4906: 4904: 4896: 4891: 4884: 4879: 4872: 4867: 4860: 4855: 4848: 4843: 4841: 4833: 4828: 4821: 4816: 4809: 4804: 4797: 4792: 4785: 4780: 4778: 4770: 4765: 4758: 4753: 4746: 4741: 4734: 4729: 4722: 4717: 4710: 4705: 4698: 4693: 4686: 4681: 4674: 4669: 4662: 4657: 4650: 4645: 4638: 4633: 4626: 4621: 4614: 4609: 4602: 4597: 4590: 4585: 4578: 4573: 4566: 4561: 4554: 4549: 4542: 4537: 4530: 4525: 4518: 4513: 4506: 4501: 4494: 4489: 4481: 4475: 4471: 4464: 4456: 4450: 4446: 4442: 4441: 4433: 4425: 4419: 4415: 4411: 4410: 4402: 4400: 4391: 4385: 4381: 4377: 4376: 4368: 4366: 4357: 4351: 4347: 4340: 4332: 4326: 4322: 4315: 4296: 4292: 4285: 4284: 4277: 4258: 4254: 4250: 4243: 4242: 4234: 4228: 4220: 4214: 4210: 4206: 4205: 4197: 4195: 4176: 4169: 4168: 4160: 4153: 4145: 4139: 4135: 4131: 4130: 4122: 4114: 4112:0-201-12919-1 4108: 4104: 4097: 4095: 4086: 4084:0-201-12919-1 4080: 4076: 4069: 4061: 4059:0-201-12919-1 4055: 4051: 4044: 4036: 4030: 4026: 4019: 4011: 4005: 4001: 3997: 3996: 3988: 3986: 3977: 3971: 3967: 3960: 3952: 3950:0-13-201799-7 3946: 3942: 3935: 3933: 3931: 3911: 3907: 3900: 3894: 3886: 3880: 3876: 3869: 3867: 3865: 3863: 3861: 3853: 3849: 3843: 3839: 3832: 3825: 3821: 3815: 3811: 3804: 3797: 3793: 3787: 3783: 3776: 3768: 3762: 3758: 3751: 3749: 3747: 3745: 3743: 3735: 3731: 3725: 3721: 3714: 3707: 3702: 3696: 3692: 3685: 3678: 3673: 3667: 3663: 3659: 3658: 3650: 3643: 3630: 3626: 3622: 3615: 3608: 3604: 3598: 3594: 3587: 3585: 3577: 3572: 3565: 3560: 3553: 3548: 3541: 3536: 3529: 3524: 3518:, p. 18. 3517: 3512: 3506:, p. 17. 3505: 3500: 3494:, p. 16. 3493: 3488: 3486: 3478: 3473: 3467:, p. 15. 3466: 3461: 3454: 3449: 3442: 3437: 3430: 3425: 3419:, p. 10. 3418: 3413: 3397: 3393: 3392: 3384: 3377: 3372: 3370: 3362: 3354: 3350: 3345:. p. 2: 3337: 3333: 3329: 3328: 3320: 3304: 3300: 3296: 3290: 3274: 3270: 3264: 3249: 3245: 3241: 3237: 3233: 3229: 3222: 3216:, p. 12. 3215: 3210: 3203: 3198: 3191: 3186: 3180:, p. 38. 3179: 3174: 3172: 3170: 3168: 3161:, p. 39. 3160: 3155: 3148: 3143: 3136: 3131: 3124: 3119: 3112: 3107: 3100: 3095: 3088: 3083: 3076: 3071: 3064: 3059: 3057: 3049: 3044: 3037: 3032: 3025: 3020: 3013: 3008: 3002:, p. 11. 3001: 2996: 2994: 2992: 2984: 2979: 2973:, p. 10. 2972: 2967: 2960: 2955: 2948: 2943: 2936: 2931: 2929: 2927: 2919: 2914: 2912: 2904: 2899: 2892: 2887: 2885: 2868: 2864: 2860: 2854: 2838: 2834: 2830: 2824: 2809: 2805: 2799: 2783: 2779: 2775: 2769: 2767: 2758: 2751: 2743: 2736: 2732: 2717: 2713: 2709: 2706: 2703: 2702: 2698: 2691: 2687: 2681: 2672: 2665: 2661: 2657: 2651: 2644: 2638: 2634: 2623: 2620: 2618: 2615: 2613: 2610: 2608: 2605: 2603: 2600: 2598: 2595: 2593: 2590: 2588: 2587:Mobile device 2585: 2583: 2580: 2578: 2575: 2573: 2570: 2568: 2565: 2563: 2560: 2558: 2555: 2553: 2550: 2548: 2545: 2543: 2540: 2538: 2535: 2534: 2527: 2525: 2521: 2517: 2513: 2509: 2505: 2501: 2497: 2493: 2489: 2488:demand paging 2485: 2481: 2477: 2475: 2471: 2467: 2463: 2459: 2455: 2452:Windows is a 2446: 2441: 2431: 2429: 2425: 2421: 2417: 2413: 2409: 2408:smart watches 2405: 2401: 2397: 2393: 2391: 2387: 2383: 2379: 2375: 2371: 2370:distributions 2367: 2363: 2359: 2355: 2351: 2347: 2343: 2342:UNIX System V 2339: 2335: 2330: 2328: 2324: 2320: 2319:free software 2316: 2309: 2305: 2300: 2290: 2288: 2284: 2280: 2276: 2272: 2268: 2264: 2260: 2256: 2252: 2248: 2244: 2240: 2234: 2230: 2220: 2218: 2214: 2209: 2207: 2203: 2199: 2195: 2190: 2188: 2183: 2173: 2171: 2167: 2162: 2160: 2157:powered by a 2156: 2152: 2147: 2143: 2133: 2131: 2127: 2123: 2119: 2115: 2111: 2107: 2099: 2095: 2092: 2089: 2086: 2085: 2084: 2082: 2076: 2066: 2064: 2060: 2056: 2052: 2051:type checking 2048: 2044: 2040: 2036: 2032: 2028: 2023: 2021: 2017: 2013: 2009: 2005: 2001: 1996: 1994: 1990: 1986: 1981: 1979: 1975: 1971: 1967: 1963: 1959: 1955: 1949: 1939: 1936: 1932: 1926: 1924: 1923:fragmentation 1920: 1916: 1912: 1908: 1904: 1900: 1895: 1893: 1889: 1885: 1881: 1876: 1872: 1868: 1866: 1862: 1858: 1854: 1850: 1846: 1842: 1838: 1834: 1830: 1826: 1822: 1820: 1816: 1812: 1808: 1804: 1801:. Permanent ( 1800: 1799:power failure 1796: 1792: 1789: 1782:(or folders). 1781: 1777: 1773: 1768: 1762: 1752: 1750: 1745: 1741: 1737: 1733: 1728: 1726: 1722: 1718: 1714: 1710: 1706: 1701: 1697: 1695: 1690: 1686: 1676: 1673: 1671: 1666: 1662: 1660: 1654: 1647: 1639: 1634: 1628: 1618: 1616: 1611: 1609: 1605: 1601: 1597: 1593: 1588: 1586: 1582: 1578: 1574: 1570: 1566: 1564: 1559: 1556: 1550: 1540: 1534: 1531: 1528: 1527: 1526: 1524: 1514: 1511: 1508: 1507: 1506: 1505: 1501: 1497: 1494: 1491: 1487: 1483: 1479: 1478: 1477: 1475: 1471: 1467: 1459: 1455: 1451: 1448: 1444: 1441: 1438: 1434: 1431: 1430:memory buffer 1427: 1424: 1420: 1417: 1413: 1409: 1405: 1404: 1403: 1401: 1397: 1393: 1388: 1386: 1382: 1377: 1376:magnetic tape 1373: 1369: 1359: 1357: 1353: 1349: 1345: 1341: 1340:computer user 1330: 1321: 1317: 1314:This section 1312: 1309: 1305: 1304: 1291: 1289: 1285: 1280: 1278: 1274: 1270: 1266: 1254: 1251: 1248: 1245: 1242: 1239: 1236: 1235: 1234: 1232: 1228: 1226: 1222: 1209:alpha | bravo 1206: 1202: 1198: 1193: 1188: 1182: 1174: 1166: 1162: 1155: 1151: 1141: 1139: 1135: 1123: 1120: 1116: 1112: 1107: 1105: 1101: 1097: 1093: 1089: 1087: 1083: 1079: 1074: 1072: 1068: 1064: 1059: 1057: 1053: 1049: 1045: 1032: 1029: 1026: 1025: 1024: 1022: 1018: 1014: 1010: 1006: 1002: 998: 994: 990: 986: 982: 976: 966: 964: 960: 956: 952: 948: 937: 935: 931: 927: 923: 919: 915: 906: 901: 891: 889: 879: 877: 873: 869: 865: 861: 860:BlackBerry OS 857: 852: 850: 846: 842: 838: 834: 830: 826: 825:user friendly 822: 818: 814: 810: 808: 804: 800: 796: 792: 788: 784: 777: 773: 769: 762: 758: 754: 745: 744:smartphones. 743: 739: 735: 732: 728: 725: 724:free software 721: 717: 713: 710:released the 709: 705: 701: 697: 693: 689: 685: 681: 677: 673: 669: 664: 662: 658: 654: 650: 646: 642: 638: 634: 630: 626: 621: 617: 613: 609: 605: 601: 593: 588: 583: 573: 571: 567: 563: 559: 555: 550: 548: 544: 540: 536: 526: 524: 520: 510: 508: 504: 500: 499:manufacturing 496: 492: 482: 480: 476: 472: 468: 464: 460: 456: 451: 447: 443: 434: 432: 428: 424: 414: 412: 408: 404: 400: 396: 392: 388: 384: 379: 375: 371: 367: 366:multicomputer 363: 344: 341: 337: 333: 329: 326: 322: 318: 317: 316: 313: 311: 307: 303: 299: 289: 287: 283: 279: 274: 272: 268: 264: 260: 256: 252: 248: 244: 240: 236: 232: 228: 224: 220: 216: 212: 208: 203: 201: 197: 193: 189: 185: 181: 176: 174: 170: 166: 162: 158: 156: 152: 148: 144: 141:that manages 140: 136: 132: 120: 115: 113: 108: 106: 101: 100: 98: 97: 92: 89: 87: 84: 82: 79: 77: 74: 72: 69: 67: 64: 62: 59: 57: 54: 53: 52: 51: 47: 46: 30: 29: 26: 23: 22: 19: 7096:Cyberwarfare 6755:Cryptography 6371: 6038:file systems 5930:Time-sharing 5658: 5587: 5567: 5552:cite journal 5535: 5531: 5504: 5496: 5474: 5461: 5440: 5419: 5394: 5390: 5371: 5346: 5334: 5292: 5280: 5268: 5256: 5244: 5232: 5220: 5208:. Retrieved 5204: 5194: 5167: 5155: 5143:. Retrieved 5139: 5130: 5118:. Retrieved 5114: 5104: 5092: 5080: 5068: 5056: 5037: 5025: 5013: 5001: 4989: 4977: 4965: 4953: 4941: 4929: 4917: 4890: 4878: 4866: 4854: 4827: 4815: 4803: 4791: 4764: 4752: 4740: 4728: 4716: 4704: 4692: 4680: 4668: 4656: 4644: 4632: 4620: 4608: 4596: 4584: 4572: 4560: 4548: 4536: 4524: 4512: 4500: 4488: 4469: 4463: 4439: 4432: 4408: 4374: 4345: 4339: 4320: 4314: 4302:. Retrieved 4282: 4276: 4264:. Retrieved 4240: 4227: 4203: 4182:, retrieved 4166: 4152: 4128: 4121: 4102: 4074: 4068: 4049: 4043: 4024: 4018: 3994: 3965: 3959: 3940: 3917:. Retrieved 3893: 3874: 3851: 3837: 3831: 3823: 3809: 3803: 3795: 3781: 3775: 3756: 3733: 3719: 3713: 3704: 3690: 3684: 3675: 3656: 3649: 3640: 3633:. Retrieved 3624: 3614: 3606: 3592: 3571: 3559: 3554:, p. 2. 3547: 3535: 3523: 3511: 3499: 3472: 3460: 3448: 3436: 3424: 3412: 3400:. Retrieved 3390: 3383: 3378:, p. 8. 3352: 3348: 3346: 3339:. Retrieved 3326: 3319: 3307:. Retrieved 3289: 3277:. Retrieved 3263: 3251:. Retrieved 3231: 3221: 3209: 3197: 3185: 3154: 3142: 3130: 3118: 3106: 3094: 3082: 3070: 3043: 3031: 3019: 3007: 2985:, p. 5. 2978: 2966: 2954: 2942: 2937:, p. 7. 2920:, p. 6. 2905:, p. 6. 2898: 2893:, p. 4. 2871:. Retrieved 2862: 2853: 2841:. Retrieved 2832: 2823: 2811:. Retrieved 2807: 2798: 2786:. Retrieved 2777: 2756: 2750: 2741: 2735: 2697: 2686:motherboards 2680: 2671: 2650: 2637: 2617:System image 2478: 2458:workstations 2451: 2394: 2390:command line 2331: 2313: 2261:, including 2247:market share 2236: 2210: 2191: 2179: 2163: 2148: 2145: 2114:workstations 2103: 2078: 2024: 1997: 1989:microkernels 1982: 1951: 1927: 1896: 1892:input/output 1871:System calls 1869: 1847:to identify 1841:amortization 1825:File systems 1823: 1815:flash memory 1803:non-volatile 1785: 1776:File systems 1729: 1698: 1692: 1674: 1667: 1663: 1648: 1644: 1612: 1589: 1571:enables the 1567: 1560: 1552: 1538: 1520: 1469: 1465: 1463: 1445:Execute the 1399: 1389: 1365: 1355: 1351: 1337: 1324: 1320:adding to it 1315: 1294:Input/output 1281: 1265:Input/output 1263: 1230: 1229: 1224: 1205:command-line 1191: 1189: 1163:will send a 1149: 1148:To generate 1147: 1110: 1109:To generate 1108: 1099: 1090: 1075: 1060: 1047: 1041: 1009:control flow 1000: 992: 978: 958: 954: 943: 934:input/output 911: 885: 853: 845:market share 811: 780: 738:data centers 668:teleprinters 665: 657:input/output 604:machine code 597: 551: 534: 532: 516: 488: 440: 420: 359: 314: 302:applications 295: 275: 231:collectively 225:, including 204: 188:system calls 177: 173:mass storage 161:Time-sharing 159: 134: 130: 128: 91:Input/output 24: 18: 7106:Video games 7086:Digital art 6843:Concurrency 6712:Data mining 6624:Probability 6357:Interpreter 6056:Device file 6046:Boot loader 5960:Round-robin 5885:Cooperative 5821:Rump kernel 5811:Multikernel 5801:Microkernel 5698:Usage share 5464:. Pearson: 3635:22 December 3299:ACM SIGARCH 2454:proprietary 2400:smartphones 2334:microkernel 2327:source code 2271:smartphones 2130:touchscreen 2106:smartphones 2059:source code 2047:code review 1884:prefetching 1853:directories 1829:abstraction 1780:directories 1761:File system 1755:File system 1749:Parallelism 1738:set, and a 1694:Concurrency 1679:Concurrency 1458:ready queue 1414:) into the 1396:system call 1394:executes a 1288:main memory 1221:ready queue 1161:system call 1134:hexadecimal 688:source code 608:punch cards 459:smart cards 239:smartphones 196:web servers 192:interrupted 71:File system 7164:Glossaries 7036:E-commerce 6629:Statistics 6572:Algorithms 6530:Stochastic 6362:Middleware 6218:Peripheral 5986:protection 5942:algorithms 5940:Scheduling 5889:Preemptive 5835:Components 5806:Monolithic 5673:Comparison 5210:7 February 2873:8 February 2843:8 February 2728:References 2552:Hypervisor 2482:works via 2255:Apple Inc. 2187:maintained 2112:, and for 2020:back doors 1993:Unikernels 1903:data block 1899:dictionary 1863:and lists 1849:corruption 1835:and other 1807:hard drive 1765:See also: 1723:a thread ( 1683:See also: 1659:page fault 1633:Page fault 1523:time slice 1490:call stack 1452:Perform a 1327:April 2022 1207:syntax is 1117:CPUs, the 1063:time slice 969:Interrupts 914:protection 882:Components 856:Symbian OS 734:microchips 637:System/360 627:(FMS) and 620:mainframes 616:transistor 610:, without 600:plugboards 566:CPU caches 519:hypervisor 513:Hypervisor 431:Middleware 387:multiqueue 219:Apple Inc. 81:Networking 61:Interrupts 6985:Rendering 6980:Animation 6611:computing 6562:Semantics 6253:Processor 6076:Partition 5993:Bus error 5920:Real-time 5900:Interrupt 5826:Unikernel 5791:Exokernel 5411:0018-8646 5145:2 October 4304:16 August 3248:1542-7730 2813:2 October 2788:3 October 2426:and uses 2340:and uses 2279:Android's 2031:hardening 1954:CIA triad 1935:checksums 1857:file path 1845:checksums 1833:filenames 1721:interrupt 1488:onto the 1470:asserting 1466:interrupt 1408:registers 1352:interrupt 1154:Unix-like 1104:Control-C 1102:(usually 989:exception 981:interrupt 975:Interrupt 936:devices. 922:user mode 817:Macintosh 803:Microsoft 776:Macintosh 672:terminals 543:unikernel 539:libraries 485:Real-time 455:kilobytes 427:networked 403:procedure 247:Android's 7179:Category 7144:Category 6972:Graphics 6747:Security 6409:Compiler 6308:Networks 6205:Hardware 6122:Live USB 5984:resource 5874:Concepts 5712:Variants 5693:Timeline 4295:Archived 4266:20 April 4257:Archived 4255:. F-75. 4184:13 April 4175:archived 3910:Archived 3677:program. 3629:Archived 3396:Archived 3353:indirect 3341:9 August 3309:7 August 3303:Archived 3279:8 August 3273:Archived 3253:7 August 2867:Archived 2837:Archived 2782:Archived 2530:See also 2512:metadata 2498:use the 2263:ChromeOS 2196:such as 2170:TempleOS 2166:Syllable 2151:homebrew 2126:trackpad 2118:keyboard 1942:Security 1837:metadata 1788:volatile 1736:register 1734:(PC), a 1670:swapping 1181:mnemonic 1128:, where 888:software 698:and the 696:System V 692:AT&T 602:or with 592:terminal 558:inlining 503:avionics 437:Embedded 332:hardware 288:stick). 263:embedded 227:ChromeOS 151:services 147:software 86:Security 7154:Outline 6117:Live CD 6071:Journal 6035:access, 6033:Storage 5910:Process 5816:vkernel 5683:History 5666:General 5115:OS News 3402:25 July 2684:Modern 2660:SIGSEGV 2572:Live CD 2396:Android 2275:tablets 2237:In the 1875:wrapped 1827:are an 1700:Threads 1381:channel 1354:called 1338:When a 1277:polling 1269:devices 1231:Signals 1192:signals 1171:is the 1044:process 947:process 872:Android 868:iPhones 837:VAX VMS 833:Windows 759:of the 742:Android 676:MULTICS 576:History 529:Library 471:VxWorks 383:packets 282:live CD 243:tablets 205:In the 5925:Thread 5796:Hybrid 5774:Kernel 5617:Curlie 5594:  5575:  5515:  5485:  5449:  5426:  5409:  5378:  5120:4 June 4476:  4451:  4420:  4386:  4352:  4327:  4215:  4140:  4109:  4081:  4056:  4031:  4006:  3972:  3947:  3881:  3844:  3816:  3788:  3763:  3726:  3697:  3668:  3599:  3358:pwrite 3349:direct 3336:USENIX 3246:  2664:SIGBUS 2662:, and 2656:SIGINT 2508:record 2502:. The 2464:, and 2418:, and 2380:, and 2374:kernel 2308:Layers 2287:iPadOS 2267:mobile 2182:ported 2124:, and 1933:) and 1919:bitmap 1813:, and 1705:kernel 1608:kernel 1600:kernel 1581:paging 1573:kernel 1563:kernel 1555:kernel 1374:, and 1348:cursor 1346:, the 1267:(I/O) 1177:signum 1165:signal 1144:Signal 997:signal 959:ATTACH 951:kernel 930:memory 894:Kernel 876:Bionic 807:MS-DOS 761:MS-DOS 682:. The 661:memory 641:OS/360 568:, the 495:events 479:TinyOS 391:queues 325:memory 306:kernel 255:iPadOS 235:mobile 229:, are 6557:Logic 6391:tools 6127:Shell 6066:Inode 5205:ZDNET 4298:(PDF) 4287:(PDF) 4260:(PDF) 4245:(PDF) 4236:(PDF) 4178:(PDF) 4171:(PDF) 4162:(PDF) 3919:5 May 3913:(PDF) 3902:(PDF) 3232:Queue 2629:Notes 2510:with 2317:is a 2315:Linux 2299:Linux 2293:Linux 2259:Linux 2251:macOS 2213:POSIX 2122:mouse 1907:index 1880:cache 1795:crash 1740:stack 1651:(see 1585:80286 1400:write 1390:If a 1383:or a 1344:mouse 1217:bravo 1213:alpha 1201:shell 1126:INT X 1092:Users 999:, or 993:fault 985:abort 813:Apple 774:of a 731:Intel 727:Linux 720:MINIX 712:POSIX 629:IBSYS 360:With 223:Linux 215:macOS 137:) is 6389:and 6262:Form 6258:Size 5688:List 5592:ISBN 5573:ISBN 5558:link 5513:ISBN 5483:ISBN 5447:ISBN 5424:ISBN 5407:ISSN 5376:ISBN 5212:2024 5147:2023 5122:2024 5048:help 4474:ISBN 4449:ISBN 4418:ISBN 4384:ISBN 4350:ISBN 4325:ISBN 4306:2022 4268:2022 4213:ISBN 4186:2022 4138:ISBN 4107:ISBN 4079:ISBN 4054:ISBN 4029:ISBN 4004:ISBN 3970:ISBN 3945:ISBN 3921:2022 3879:ISBN 3842:ISBN 3814:ISBN 3786:ISBN 3761:ISBN 3724:ISBN 3695:ISBN 3666:ISBN 3637:2021 3597:ISBN 3404:2016 3343:2024 3311:2024 3281:2024 3255:2024 3244:ISSN 2875:2021 2845:2021 2815:2023 2790:2023 2716:ring 2547:DBOS 2522:and 2504:NTFS 2466:Xbox 2424:Java 2285:and 2273:and 2231:and 2215:and 2198:Java 2168:and 2108:and 2098:WIMP 2049:and 1911:tree 1882:and 1744:heap 1687:and 1579:and 1273:wait 1185:kill 1113:for 1084:and 1069:. A 1001:trap 957:and 955:LINK 866:for 795:CP/M 740:and 708:IEEE 684:UNIX 649:bugs 507:eCos 477:and 475:RIOT 253:and 241:and 198:and 182:and 153:for 145:and 6144:PXE 6132:CLI 6112:HAL 6102:API 5905:IPC 5615:at 5540:doi 5509:IET 5399:doi 4445:310 4414:309 4380:295 4209:294 4134:292 4000:308 3662:308 3236:doi 2712:key 2490:of 2392:. 2362:RAM 2360:of 2346:BSD 2283:iOS 2253:by 2200:or 2128:or 2004:C++ 2002:or 1915:map 1817:(a 1797:or 1727:). 1472:an 1322:. 1169:pid 1152:in 1119:INT 1115:x86 979:An 864:iOS 815:'s 799:DOS 702:'s 694:'s 633:IBM 467:QNX 368:or 286:USB 278:OEM 251:iOS 217:by 129:An 7181:: 6260:/ 5887:, 5554:}} 5550:{{ 5536:28 5534:. 5530:. 5511:. 5507:. 5481:. 5477:. 5405:. 5395:25 5393:. 5319:^ 5304:^ 5203:. 5179:^ 5138:. 5113:. 4902:^ 4839:^ 4776:^ 4447:. 4416:. 4398:^ 4382:. 4364:^ 4289:. 4253:48 4247:. 4238:. 4211:. 4193:^ 4164:, 4136:. 4093:^ 4002:. 3984:^ 3929:^ 3904:. 3859:^ 3850:. 3822:. 3794:. 3741:^ 3732:. 3703:. 3674:. 3664:. 3639:. 3623:. 3605:. 3583:^ 3484:^ 3394:. 3368:^ 3334:. 3330:. 3297:. 3271:. 3242:. 3230:. 3166:^ 3055:^ 2990:^ 2925:^ 2910:^ 2883:^ 2865:. 2861:. 2835:. 2831:. 2806:. 2780:. 2776:. 2765:^ 2714:, 2658:, 2460:, 2430:. 2410:, 2376:, 2358:MB 2208:. 2202:Qt 2189:. 2172:. 2120:, 2079:A 2065:. 2041:, 2037:, 2022:. 1925:. 1661:. 1370:, 1211:. 1140:. 1088:. 1058:. 995:, 991:, 987:, 965:. 533:A 517:A 509:. 501:, 489:A 481:. 469:, 465:, 421:A 202:. 171:, 157:. 135:OS 6198:. 6178:e 6171:t 6164:v 5981:, 5891:) 5883:( 5651:e 5644:t 5637:v 5600:. 5581:. 5560:) 5542:: 5521:. 5491:. 5468:. 5455:. 5432:. 5413:. 5401:: 5384:. 5214:. 5149:. 5124:. 5050:) 4482:. 4457:. 4426:. 4392:. 4358:. 4333:. 4308:. 4270:. 4221:. 4146:. 4115:. 4087:. 4062:. 4037:. 4012:. 3978:. 3953:. 3923:. 3887:. 3769:. 3406:. 3313:. 3283:. 3257:. 3238:: 2877:. 2847:. 2817:. 2792:. 2718:. 2692:. 2666:. 2338:C 2100:. 2000:C 1655:) 1492:. 1460:. 1439:. 1432:. 1418:. 1329:) 1325:( 1130:X 133:( 118:e 111:t 104:v

Index

Operating systems
Process management
Interrupts
Memory management
File system
Device drivers
Networking
Security
Input/output
v
t
e
system software
computer hardware
software
services
computer programs
Time-sharing
schedule tasks
processor time
mass storage
input and output
memory allocation
system calls
interrupted
web servers
supercomputers
personal computer
Microsoft Windows
macOS

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑