Knowledge

Operating system

Source đź“ť

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:)

Index

Operating systems
Operating systems
Process management
Interrupts
Memory management
File system
Device drivers
Networking
Security
Input/output
v
t
e
system software
computer hardware
software
services
computer programs
Time-sharing
schedule tasks
processor time
mass storage
input and output
memory allocation
system calls
interrupted
web servers
supercomputers
personal computer
Microsoft Windows

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

↑