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