Knowledge

Operating system

Source đź“ť

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

Index

Desktop operating system
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

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

↑