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