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