Knowledge

Operating system

Source đź“ť

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

↑