Knowledge

Virtual memory

Source đź“ť

930:'s MapViewOfFile, because inter-file pointers do not work when mapping files into semi-arbitrary places. In Multics, a file (or a segment from a multi-segment file) is mapped into a segment in the address space, so files are always mapped at a segment boundary. A file's linkage section can contain pointers for which an attempt to load the pointer into a register or make an indirect reference through it causes a trap. The unresolved pointer contains an indication of the name of the segment to which the pointer refers and an offset within the segment; the handler for the trap maps the segment into the address space, puts the segment number into the pointer, changes the tag field in the pointer so that it no longer causes a trap, and returns to the code where the trap occurred, re-executing the instruction that caused the trap. This eliminates the need for a 865:
thrashing happens. The process that has the token is given a privilege to allocate more physical memory pages to build its working set, which is expected to quickly finish its execution and to release the memory pages to other processes. A time stamp is used to handover the token one by one. The first version of swap-token was implemented in Linux 2.6. The second version is called preempt swap-token and is also in Linux 2.6. In this updated swap-token implementation, a priority counter is set for each process to track the number of swap-out pages. The token is always given to the process with a high priority, which has a high number of swap-out pages. The length of the time stamp is not a constant but is determined by the priority: the higher the number of swap-out pages of a process, the longer the time stamp for it will be.
373: 369:) by which one can program as if there were only one storage." This is exactly the situation in computers with cache memory, one of the earliest commercial examples of which was the IBM System/360 Model 85. In the Model 85 all addresses were real addresses referring to the main core store. A semiconductor cache store, invisible to the user, held the contents of parts of the main store in use by the currently executing program. This is exactly analogous to GĂĽntsch's system, designed as a means to improve performance, rather than to solve the problems involved in multi-programming. 2266: 2747: 2737: 2727: 2717: 2707: 519: 33: 606:. Each entry in the page table holds a flag indicating whether the corresponding page is in real memory or not. If it is in real memory, the page table entry will contain the real memory address at which the page is stored. When a reference is made to a page by the hardware, if the page table entry for the page indicates that it is not currently in real memory, the hardware raises a 961:, provides for marking an address space as unswappable; doing so does not pin any pages in the address space. This can be done for the duration of a job by entering the name of an eligible main program in the Program Properties Table with an unswappable flag. In addition, privileged code can temporarily make an address space unswappable using a SYSEVENT 404:. The addition of virtual memory into the Atlas also eliminated a looming programming problem: planning and scheduling data transfers between main and secondary memory and recompiling programs for each change of size of main memory. The first Atlas was commissioned in 1962 but working prototypes of paging had been developed by 1959. In 1961, the 946:, in addition to whatever facilities they have for paging and segmentation. When this occurs, the OS writes those pages and segments currently in real memory to swap files. In a swap-in, the OS reads back the data from the swap files but does not automatically read back pages that had been paged out at the time of the swap out operation. 772:
of one second) whereas I/O buffers are usually short-term fixed (usually measured in significantly less than wall-clock time, possibly for tens of milliseconds). Indeed, the OS has a special facility for "fast fixing" these short-term fixed data buffers (fixing which is performed without resorting to a time-consuming
365:, since his high-speed memory was intended to contain a copy of some blocks of code or data taken from the drums. Indeed, he wrote (as quoted in translation): "The programmer need not respect the existence of the primary memory (he need not even know that it exists), for there is only one sort of addresses ( 914:
solutions combined paging and segmentation because x86 paging offers only two protection domains whereas a VMM, guest OS or guest application stack needs three. The difference between paging and segmentation systems is not only about memory division; segmentation is visible to user processes, as part
268:
During the 1960s and early '70s, computer memory was very expensive. The introduction of virtual memory provided an ability for software systems with large memory demands to run on computers with less real memory. The savings from this provided a strong incentive to switch to virtual memory for all
860:
is the minimum set of pages that should be in memory in order for it to make useful progress. Thrashing occurs when there is insufficient memory available to store the working sets of all active programs. Adding real memory is the simplest response, but improving application design, scheduling, and
771:
and successor systems, the term is "fixed", and such pages may be long-term fixed, or may be short-term fixed, or may be unfixed (i.e., pageable). System control structures are often long-term fixed (measured in wall-clock time, i.e., time measured in seconds, rather than time measured in fractions
663:
Typically, a page fault that cannot be resolved results in an abnormal termination of the application. However, some systems allow the application to have exception handlers for such errors. The paging supervisor may handle a page fault exception in several different ways, depending on the details:
455:
showed that their virtual memory overlay system consistently worked better than the best manually controlled systems. Throughout the 1970s, the IBM 370 series running their virtual-storage based operating systems provided a means for business users to migrate multiple older systems into fewer, more
620:
Systems can have, e.g., one page table for the whole system, separate page tables for each address space or process, separate page tables for each segment; similarly, systems can have, e.g., no segment table, one segment table for the whole system, separate segment tables for each address space or
310:
that may produce unwanted and unpredictable delays in response to input, especially if the trap requires that data be read into main memory from secondary memory. The hardware to translate virtual addresses to physical addresses typically requires a significant chip area to implement, and not all
918:
This difference has important consequences; a segment is not a page with variable length or a simple way to lengthen the address space. Segmentation that can provide a single-level memory model in which there is no differentiation between process memory and file system consists of only a list of
864:
A system thrashing is often a result of a sudden spike in page demand from a small number of running programs. Swap-token is a lightweight and dynamic thrashing protection mechanism. The basic idea is to set a token in the system, which is randomly given to a process that has page faults when
446:
Before virtual memory could be implemented in mainstream operating systems, many problems had to be addressed. Dynamic address translation required expensive and difficult-to-build specialized hardware; initial implementations slowed down access to memory slightly. There were worries that new
660:(LRU) algorithm. Stolen page frames that have been modified are written back to auxiliary storage before they are added to the free queue. On some systems the paging supervisor is also responsible for managing translation registers that are not automatically loaded from page tables. 731:. If the pages containing these pointers or the code that they invoke were pageable, interrupt-handling would become far more complex and time-consuming, particularly in the case of page fault interruptions. Hence, some part of the page table structures is not pageable. 763:, transfers cannot be stopped if a page fault occurs and then restarted when the page fault has been processed. For example, the data could come from a measurement sensor unit and lost real time data that got lost because of a page fault can not be recovered. 909:
linear, paged address space. Segments can be moved in and out of that space; pages there can "page" in and out of main memory, providing two levels of virtual memory; few if any operating systems do so, instead using only paging. Early non-hardware-assisted
651:
This part of the operating system creates and manages page tables and lists of free page frames. In order to ensure that there will be enough free page frames to quickly resolve page faults, the system may periodically steal allocated page frames, using a
629:
use different parts of a single range of virtual addresses. If there are multiple page or segment tables, there are multiple virtual address spaces and concurrent applications with separate page tables redirect to different real addresses.
835:
mechanisms, for the paging supervisor and page tables in older systems, and for application programs using non-standard I/O management. For example, IBM's z/OS has 3 modes (virtual-virtual, virtual-real and virtual-fixed).
2285:, University of Michigan Engineering Summer Conference 1970 (revised May 1971), compares the scheduling and resource allocation approaches, including virtual memory and paging, used in four mainframe operating systems: 738:
The paging supervisor code and drivers for secondary storage devices on which pages reside must be permanently pinned, as otherwise paging would not even work because the necessary code would not be available.
447:
system-wide algorithms utilizing secondary storage would be less effective than previously used application-specific algorithms. By 1969, the debate over virtual memory for commercial computers was over; an
680:
For a fault due to a write attempt into a read-protected page, if it is a copy-on-write page then a free page frame will be assigned and the contents of the old page copied; otherwise it is treated as an
885:
supports a similar segmentation scheme as an option, but it is rarely used. Segmentation and paging can be used together by dividing each segment into pages; systems with this memory structure, such as
861:
memory usage can help. Another solution is to reduce the number of active tasks on the system. This reduces demand on real memory by swapping out the entire working set of one or more processes.
688:
In most cases, there will be an update to the page table, possibly followed by purging the Translation Lookaside Buffer (TLB), and the system restarts the instruction that causes the exception.
831:
and similar OSes, some parts of systems memory are managed in "virtual-real" mode, called "V=R". In this mode every virtual address corresponds to the same real address. This mode is used for
64:
technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very large (main) memory".
269:
systems. The additional capability of providing virtual address spaces added another level of security and reliability, thus making virtual memory even more attractive to the marketplace.
499:. However, loading segment descriptors was an expensive operation, causing operating system designers to rely strictly on paging rather than a combination of paging and segmentation. 2776: 357:
does not stand up to careful scrutiny. The computer proposed by GĂĽntsch (but never built) had an address space of 10 words which mapped exactly onto the 10 words of the drums,
881:
instead of paging, dividing virtual address spaces into variable-length segments. A virtual address here consists of a segment number and an offset within the segment. The
120:
between processes, increased security due to memory isolation, and being able to conceptually use more memory than might be physically available, using the technique of
856:" can occur, in which the computer spends an unsuitably large amount of time transferring pages to and from a backing store, hence slowing down useful work. A task's 734:
Some pages may be pinned for short periods of time, others may be pinned for long periods of time, and still others may need to be permanently pinned. For example:
346: 323:. Virtual memory was therefore introduced not only to extend primary memory, but to make such an extension as easy as possible for programmers to use. To allow for 109:(MMU), automatically translates virtual addresses to physical addresses. Software within the operating system may extend these capabilities, utilizing, e.g., 113:, to provide a virtual address space that can exceed the capacity of real memory and thus reference more memory than is physically present in the computer. 302:
and other special-purpose computer systems that require very fast and/or very consistent response times may opt not to use virtual memory due to decreased
968:
Swapping does not necessarily require memory management hardware, if, for example, multiple jobs are swapped in and out of the same area of storage.
361:
the addresses were real addresses and there was no form of indirect mapping, a key feature of virtual memory. What GĂĽntsch did invent was a form of
1173: 116:
The primary benefits of virtual memory include freeing applications from having to manage a shared memory space, ability to share memory used by
790:
refer to pages temporarily made nonpageable (as for I/O buffers) as "locked", and simply "nonpageable" for those that are never pageable. The
2273: 671:
If the page is valid and the page information is not loaded into the MMU, the page information will be stored into one of the page registers.
186:
can employ hardware support to increase performance of their virtual memory implementations. Older operating systems, such as those for the
2687: 965:(SVC); certain changes in the address space properties require that the OS swap it out and then swap it back in, using SYSEVENT TRANSWAP. 2348: 1180: 684:
If the virtual address is a valid page in a memory-mapped file or a paging file, a free page frame will be assigned and the page read in.
1887:
Song Jiang; Xiaodong Zhang (2005). "Token-ordered LRU: an effective page replacement policy and its implementation in Linux systems".
2316: 2184: 1587: 396:
mechanism to map the virtual addresses available to the programmer onto the real memory that consisted of 16,384 words of primary
2396: 1401: 915:
of memory model semantics. Hence, instead of memory that looks like a single large space, it is structured into multiple spaces.
759:
to which they are attached expect to find data buffers located at physical memory addresses; regardless of whether the bus has a
311:
chips used in embedded systems include that hardware, which is another reason some of those systems do not use virtual memory.
1614: 2740: 2544: 2368: 2150: 1826: 1672: 1555: 998: 293: 61: 2730: 19:
This article is about the computer memory management technique. For the technique of pooling multiple storage devices, see
2750: 355:
Logical Design of a Digital Computer with Multiple Asynchronous Rotating Drums and Automatic High Speed Memory Operation
1792: 1244: 934:
completely and works when different processes map the same file into different places in their private address spaces.
625:
in a tree of region tables for each address space or process. If there is only one page table, different applications
280:. Each program thus appears to have sole access to the virtual memory. However, some older operating systems (such as 2222: 1210: 1018: 558: 105:
and the assignment of real memory to virtual memory. Address translation hardware in the CPU, often referred to as a
2317:
The Virtual-Memory Manager in Windows NT, Randy Kath, Microsoft Developer Network Technology Group, 12 December 1992
1940: 2042: 1698: 1339: 1971: 1643: 350: 331:, many early systems divided memory between multiple programs without virtual memory, such as early models of the 194:), generally have no virtual memory functionality, though notable exceptions for mainframes of the 1960s include: 137: 2567: 2341: 536: 954: 2692: 540: 1147: 583:
in size; systems with large virtual address ranges or amounts of real memory generally use larger page sizes.
1628: 1314: 257: 145: 1689: 2552: 2390: 853: 319:
In the 1950s, all larger programs had to contain logic for managing primary and secondary storage, such as
41: 2238:, by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. Arpaci-Dusseau Books, 2014. Relevant chapters: 2529: 962: 773: 208: 2710: 2597: 2587: 2577: 2430: 2334: 988: 692: 691:
If the free page frame queue is empty then the paging supervisor must free a page frame using the same
653: 24: 1154: 1102: 579:, blocks of contiguous virtual memory addresses. Pages on contemporary systems are usually at least 4 2656: 791: 144:
explicitly); and, when each process is run in its own dedicated address space, by obviating the need
602:
to process instructions; such hardware that handles this specific translation is often known as the
2516: 2294: 2081: 1579: 385: 230: 133: 2771: 2720: 2582: 2557: 2463: 2260: 1925: 1089: 1068: 529: 303: 242: 175: 1525: 755:
must reside in pinned pages while the I/O operation is in progress because such devices and the
2534: 2486: 2384: 2191:. z/OS MVS Programming: Authorized Assembler Services Reference SET-WTO SA23-1375-00. 1990–2014 2076: 1064: 983: 603: 576: 372: 171: 106: 20: 1998: 1849: 1782: 1503:
Kilburn, T.; Edwards, D.B.G.; Lanigan, M.J.; Sumner, F.H. (1962), "One-level Storage System",
1234: 2562: 1949: 1816: 1746:
Sayre, D. (1969). "Is automatic "folding" of programs efficient enough to displace manual?".
878: 874: 639: 572: 492: 440: 413: 405: 328: 320: 222: 167: 155: 149: 141: 102: 77: 2245: 677:
If there is a stolen page frame containing the desired page, that page frame will be reused.
2254: 748: 397: 90: 37: 2257: 8: 2440: 2242: 2002: 1477: 657: 487:
processor, but its segment swapping technique scaled poorly to larger segment sizes. The
273: 117: 98: 2682: 2666: 2592: 2094: 1926:"Swap Token effectively minimizes system thrasing effects and is adopted in OS kernels" 1763: 1445: 1296: 931: 911: 336: 187: 2248: 2458: 2357: 2239: 2218: 2146: 1904: 1856: 1822: 1788: 1729:
z/VM built on IBM Virtualization Technology General Information Version 4 Release 3.0
1668: 1622: 1551: 1543: 1437: 1288: 1240: 1206: 1048: 993: 787: 599: 2251: 2139: 1767: 1449: 1300: 1269:"Direct address translation for virtual memory in energy-efficient embedded systems" 2635: 2630: 2473: 2098: 2086: 1896: 1755: 1702: 1596: 1508: 1486: 1429: 1374: 1280: 978: 626: 614: 610: 595: 324: 307: 212: 203: 199: 68: 2310: 1475:
Liptay, J.S. (1968), "Structural Aspects of the System/360 Model 85 – The Cache",
435:
as Virtual Machine Facility/370. IBM introduced the Start Interpretive Execution (
2625: 2524: 2320: 1662: 1268: 1200: 756: 299: 296:
that run all processes in a single address space composed of virtualized memory.
183: 86: 495:
layer, enabling the page fault exception to chain with other exceptions without
190:
of the 1960s, and those for personal computers of the early to mid-1980s (e.g.,
2640: 2607: 2602: 2448: 1900: 1378: 1076: 1003: 668:
If the virtual address is invalid, the paging supervisor treats it as an error.
480: 432: 389: 377: 261: 170:; implementations usually require hardware support, typically in the form of a 72: 408:
independently released the first commercial computer with virtual memory, the
2765: 2617: 2420: 2415: 1908: 1512: 1441: 1292: 943: 891: 849: 508: 277: 251: 218: 94: 2064: 1284: 894:, are usually paging-predominant, segmentation providing memory protection. 464:; during the 1970s, other minicomputers implemented virtual memory, notably 1044: 674:
If the page is uninitialized, a new page frame may be assigned and cleared.
496: 457: 362: 285: 136:
of physical memory; by delegating to the kernel the burden of managing the
110: 2112: 2090: 2025: 1759: 1727: 1706: 1433: 741:
Timing-dependent components may be pinned to avoid variable paging delays.
2661: 1040: 898: 882: 857: 752: 744: 594:
are used to translate the virtual addresses seen by the application into
488: 484: 452: 401: 342:
A claim that the concept of virtual memory was first developed by German
2235: 1600: 1343: 272:
Most modern operating systems that support virtual memory also run each
2425: 2027: 2005: 1647: 1490: 768: 728: 607: 591: 543: in this section. Unsourced material may be challenged and removed. 420: 2572: 2453: 2165:
The most important requirement is that the program be APF authorized.
1156:
System/360 Model 67 Time Sharing System Preliminary Technical Summary
832: 816: 812: 720: 424: 343: 179: 158:
can be considered a generalization of the concept of virtual memory.
49: 2326: 2063:
Bensoussan, André; Clingen, CharlesT.; Daley, Robert C. (May 1972).
919:
segments (files) mapped into the process's potential address space.
518: 456:
powerful, mainframes that had improved price/performance. The first
2506: 2501: 2491: 2481: 723:
mechanisms rely on an array of pointers to their handlers, such as
580: 439:) instruction as part of 370-XA on the 3081, and VM/XA versions of 2496: 2298: 2290: 2045:
Virtual Machines: Architectures, Implementations and Applications
1021:, a series of specifications intended to unify CPU and GPU memory 922:
This is not the same as the mechanisms provided by calls such as
887: 783: 779: 634: 633:
Some earlier systems with smaller real memory sizes, such as the
469: 384:
The first true virtual memory system was that implemented at the
247: 234: 32: 1784:
IBM Power Systems Performance Guide: Implementing and Optimizing
1420:
Jessen, E. (1996). "Die Entwicklung des virtuellen Speichers".
1110: 1106: 906: 845: 828: 461: 393: 332: 281: 238: 121: 1942:
Burroughs B5500 Information Processing System Reference Manual
571:
Nearly all current implementations of virtual memory divide a
132:
Virtual memory makes application programming easier by hiding
2286: 1399:
Jessen, Elke (2004). "Origin of the Virtual Memory Concept".
1202:
Architectural and Operating System Support for Virtual Memory
1123: 927: 902: 760: 428: 409: 289: 225: 1182:
z/OS Version 2 Release 4 z/OS Introduction and Release Guide
2028:"System Design of a Computer for Time Sharing Applications" 1502: 1072: 1013: 958: 923: 707:(never swapped to secondary storage). Other terms used are 1126:
there is a 3-level tree of regions for each address space.
747:
that are accessed directly by peripheral devices that use
643:
instead of page tables in memory for address translation.
1997: 1865: 1007: 950: 724: 476: 465: 448: 191: 2777:
Department of Computer Science, University of Manchester
2026:
Glaser, Edward L.; Couleur, John F. & Oliver, G. A.
1886: 215:(software based virtual memory without hardware support) 93:, as seen by a process or task, appears as a contiguous 2304: 2369:
Memory management as a function of an operating system
2062: 794:
also uses the term "locked" in the specification for
380:
was the first computer to feature true virtual memory.
1063:
on mainframe operating systems. This usage runs from
71:, using a combination of hardware and software, maps 1386:
In the Beginning: Recollections of Software Pioneers
1233:
Haldar, Sibsankar; Aravind, Alex Alagarsamy (2010).
1088:
IBM had previously used the term hypervisor for the
388:
to create a one-level storage system as part of the
2141:
The Multics System: An Examination of Its Structure
1198: 942:Some operating systems provide for swapping entire 2138: 1920: 1918: 1456: 1267:Zhou, Xiangrong; Petrov, Peter (1 December 2008). 1188:. IBM. 22 September 2020. p. 3. GA32-0887-40. 613:, invoking the paging supervisor component of the 491:introduced paging support underneath the existing 2065:"The Multics Virtual Memory: Concepts and Design" 2006:"Introduction and Overview of the Multics System" 1526:"Ferranti Atlas 1 & 2 – Systems Architecture" 2763: 1691:System/370 integrated emulation under OS and DOS 1199:Bhattacharjee, Abhishek; Lustig, Daniel (2017). 140:(eliminating the need for the program to handle 2185:"Control swapping (DONTSWAP, OKSWAP, TRANSWAP)" 1915: 1617:. Archived from the original on 6 October 2014. 1205:. Morgan & Claypool Publishers. p. 1. 306:; virtual memory systems trigger unpredictable 166:Virtual memory is an integral part of a modern 2215:Computer Architecture, A Quantitative Approach 1687: 1667:. Jones and Bartlett Publishers. p. 113. 1580:"The origin of the VM/370 time-sharing system" 1342:. Microsoft. 23 September 2011. Archived from 1273:ACM Transactions on Embedded Computing Systems 460:to introduce virtual memory was the Norwegian 44:to form a large range of contiguous addresses. 2342: 1232: 703:Operating systems have memory areas that are 400:with an additional 98,304 words of secondary 2688:International Symposium on Memory Management 2213:Hennessy, John L.; and Patterson, David A.; 1868:. May 2022. pp. 3-46–3-53. SA22-7832-13 1550:. John Wiley and Sons. pp. 1832–1835. 868: 2349: 2335: 2041:Smith, J. E.; Uhlig, R. (14 August 2005). 2040: 1781:Quintero, Dino; et al. (1 May 2013). 1701:. Vol. 38. AFIPS Press. p. 164. 1369: 1367: 1365: 1363: 1361: 1266: 621:process, separate segment tables for each 2080: 1938: 1588:IBM Journal of Research & Development 1092:, but that did not involve virtual memory 937: 822: 559:Learn how and when to remove this message 2174:e.g., requesting use of preferred memory 2136: 1858:z/Architecture - Principles of Operation 1780: 1413: 1239:. Pearson Education India. p. 269. 371: 31: 1664:Memory Systems and Pipelined Processors 1541: 1402:IEEE Annals of the History of Computing 1373: 1358: 1148:"SYSTEM COMPONENTS: Dynamic Relocation" 502: 2764: 2283:Advanced Topics in Systems Programming 1814: 1660: 1577: 1474: 1462: 1419: 1398: 294:single address space operating systems 148:program code or to access memory with 2356: 2330: 1745: 999:Memory management (operating systems) 905:processors, the segments reside in a 475:Virtual memory was introduced to the 2236:Operating Systems: Three Easy Pieces 1542:Denning, Peter J. (1 January 2003). 1162:. IBM. 1966. p. 21. C20-1647-0. 1010:mode that allows for virtual memory. 646: 541:adding citations to reliable sources 512: 16:Computer memory management technique 2397:Input–output memory management unit 13: 2267:"Time-Sharing Supervisor Programs" 2207: 2047:, HOTCHIPS 17, Tutorial 1, part 2" 1641: 431:, and in 1972 provided it for the 14: 2788: 2229: 1821:. Excel Books India. p. 62. 1019:Heterogeneous System Architecture 2746: 2745: 2736: 2735: 2726: 2725: 2716: 2715: 2706: 2705: 2305:LinuxMM: Linux Memory Management 1787:. IBM Corporation. p. 138. 1699:Spring Joint Computer Conference 1578:Creasy, R. J. (September 1981). 1548:Encyclopedia of Computer Science 517: 353:in 1956 in his doctoral thesis, 288:) and even modern ones (such as 2568:Concurrent mark sweep collector 2177: 2168: 2159: 2130: 2113:"Multics Execution Environment" 2105: 2056: 2034: 2019: 1991: 1964: 1932: 1880: 1842: 1818:Foundation of Operating Systems 1808: 1774: 1739: 1720: 1681: 1654: 1635: 1607: 1571: 1535: 1518: 1496: 1468: 1392: 1116: 1113:only supported 2 KB pages. 1095: 1082: 804: 795: 767:In IBM's operating systems for 698: 528:needs additional citations for 101:. The operating system manages 36:Virtual memory combines active 2693:Region-based memory management 1979:. January 1968. pp. 21–30 1735:. 12 April 2002. GC24-5991-04. 1332: 1307: 1260: 1226: 1192: 1166: 1140: 1053: 1033: 761:memory management unit for I/O 586: 1: 2137:Organick, Elliott I. (1972). 1133: 419:IBM developed the concept of 376:The University of Manchester 351:Technische Universität Berlin 258:Time Sharing Operating System 127: 23:. For the TBN game show, see 2741:Memory management algorithms 2553:Automatic Reference Counting 2391:Translation lookaside buffer 2323: (archived 22 June 2010) 1174:"BCP (Base Control Program)" 852:are used, a problem called " 839: 97:or collection of contiguous 7: 2731:Automatic memory management 2530:C dynamic memory allocation 2281:by Michael T. Alexander in 1688:Gary R. Allred (May 1971). 1379:"Before Memory Was Virtual" 1043:; contemporary systems use 971: 963:Supervisor Call instruction 774:Supervisor Call instruction 209:THE multiprogramming system 10: 2793: 2751:Memory management software 2598:Tracing garbage collection 2431:Virtual memory compression 2313:, mailing list discussion. 1901:10.1016/j.peva.2004.10.002 1661:Cragon, Harvey G. (1996). 989:Cache replacement policies 873:Some systems, such as the 693:page replacement algorithm 654:page replacement algorithm 506: 314: 75:used by a program, called 25:Virtual Memory (game show) 18: 2701: 2675: 2649: 2616: 2543: 2515: 2472: 2439: 2406: 2377: 2364: 2069:Communications of the ACM 1748:Communications of the ACM 1627:: CS1 maint: unfit URL ( 1340:"Windows Version History" 792:Single UNIX Specification 2525:Static memory allocation 2517:Manual memory management 1513:10.1109/TEC.1962.5219356 1026: 869:Segmented virtual memory 627:running at the same time 386:University of Manchester 161: 2583:Garbage-first collector 2558:Boehm garbage collector 2464:x86 memory segmentation 1864:(Fourteenth ed.). 1285:10.1145/1457246.1457251 782:used the term "wired". 243:IBM System/360 Model 67 178:. While not necessary, 40:and inactive memory on 2588:Mark–compact algorithm 2385:Memory management unit 2249:Introduction to Paging 1889:Performance Evaluation 1315:"AMD-V™ Nested Paging" 984:Page (computer memory) 938:Address space swapping 823:Virtual-real operation 604:memory management unit 479:architecture with the 381: 172:memory management unit 107:memory management unit 103:virtual address spaces 45: 21:Storage virtualization 2311:Birth of Linux Kernel 2091:10.1145/355602.361306 1950:Burroughs Corporation 1760:10.1145/363626.363629 1707:10.1109/AFIPS.1971.58 1434:10.1007/s002870050034 719:pages. For example, 573:virtual address space 451:research team led by 406:Burroughs Corporation 375: 276:in its own dedicated 168:computer architecture 156:Memory virtualization 35: 2535:new and delete (C++) 2258:Swapping: Mechanisms 2255:Advanced Page Tables 2189:IBM Knowledge Center 1973:GE-645 System Manual 1850:"Translation Tables" 749:direct memory access 537:improve this article 503:Paged virtual memory 416:rather than paging. 347:Fritz-Rudolf GĂĽntsch 2441:Memory segmentation 2279:on 1 November 2012. 2243:Address Translation 1815:Sharma, Dp (2009). 1601:10.1147/rd.255.0483 1531:. 12 November 2009. 1478:IBM Systems Journal 1422:Informatik-Spektrum 1039:Early systems used 695:for page stealing. 658:Least recently used 150:relative addressing 2683:Automatic variable 2667:Unreachable memory 2593:Reference counting 2563:Cheney's algorithm 2545:Garbage collection 2261:Swapping: Policies 1939:Burroughs (1964). 1491:10.1147/sj.71.0015 1059:IBM uses the term 1049:solid state memory 1014:CUDA Pinned memory 912:x86 virtualization 596:physical addresses 382: 83:physical addresses 46: 2759: 2758: 2711:Memory management 2459:Virtual 8086 mode 2358:Memory management 2152:978-0-262-15012-5 1828:978-81-7446-626-6 1674:978-0-86720-474-2 1557:978-0-470-86412-8 1346:on 8 January 2015 1236:Operating Systems 994:Memory management 647:Paging supervisor 569: 568: 561: 124:or segmentation. 78:virtual addresses 62:memory management 2784: 2749: 2748: 2739: 2738: 2729: 2728: 2719: 2718: 2709: 2708: 2636:Dangling pointer 2631:Buffer over-read 2603:Strong reference 2474:Memory allocator 2351: 2344: 2337: 2328: 2327: 2280: 2278: 2272:. Archived from 2271: 2201: 2200: 2198: 2196: 2181: 2175: 2172: 2166: 2163: 2157: 2156: 2144: 2134: 2128: 2127: 2125: 2123: 2109: 2103: 2102: 2084: 2060: 2054: 2053: 2051: 2038: 2032: 2031: 2023: 2017: 2016: 2014: 2012: 2003:Vyssotsky, V. A. 1995: 1989: 1988: 1986: 1984: 1978: 1968: 1962: 1961: 1959: 1957: 1947: 1936: 1930: 1929: 1922: 1913: 1912: 1884: 1878: 1877: 1875: 1873: 1863: 1854: 1846: 1840: 1839: 1837: 1835: 1812: 1806: 1805: 1803: 1801: 1778: 1772: 1771: 1743: 1737: 1736: 1734: 1724: 1718: 1717: 1715: 1713: 1696: 1685: 1679: 1678: 1658: 1652: 1651: 1646:. Archived from 1639: 1633: 1632: 1626: 1618: 1611: 1605: 1604: 1584: 1575: 1569: 1568: 1566: 1564: 1544:"Virtual memory" 1539: 1533: 1532: 1530: 1522: 1516: 1515: 1500: 1494: 1493: 1472: 1466: 1460: 1454: 1453: 1417: 1411: 1410: 1396: 1390: 1389: 1383: 1371: 1356: 1355: 1353: 1351: 1336: 1330: 1329: 1327: 1325: 1319: 1311: 1305: 1304: 1264: 1258: 1257: 1255: 1253: 1230: 1224: 1223: 1221: 1219: 1196: 1190: 1189: 1187: 1178: 1170: 1164: 1163: 1161: 1152: 1144: 1127: 1120: 1114: 1099: 1093: 1086: 1080: 1057: 1051: 1037: 979:Processor design 955:OS/VS2 Release 2 811: 810: 807: 802: 801: 798: 615:operating system 564: 557: 553: 550: 544: 521: 513: 443:to exploit it. 325:multiprogramming 300:Embedded systems 213:Electrologica X8 200:Atlas Supervisor 184:virtual machines 138:memory hierarchy 73:memory addresses 69:operating system 2792: 2791: 2787: 2786: 2785: 2783: 2782: 2781: 2762: 2761: 2760: 2755: 2697: 2671: 2645: 2626:Buffer overflow 2612: 2539: 2511: 2468: 2435: 2402: 2373: 2360: 2355: 2321:Wayback Machine 2276: 2269: 2265: 2232: 2210: 2208:Further reading 2205: 2204: 2194: 2192: 2183: 2182: 2178: 2173: 2169: 2164: 2160: 2153: 2135: 2131: 2121: 2119: 2111: 2110: 2106: 2061: 2057: 2049: 2039: 2035: 2024: 2020: 2010: 2008: 1996: 1992: 1982: 1980: 1976: 1970: 1969: 1965: 1955: 1953: 1945: 1937: 1933: 1924: 1923: 1916: 1885: 1881: 1871: 1869: 1861: 1852: 1848: 1847: 1843: 1833: 1831: 1829: 1813: 1809: 1799: 1797: 1795: 1779: 1775: 1754:(12): 656–660. 1744: 1740: 1732: 1726: 1725: 1721: 1711: 1709: 1694: 1686: 1682: 1675: 1659: 1655: 1650:on 10 May 2017. 1640: 1636: 1620: 1619: 1613: 1612: 1608: 1582: 1576: 1572: 1562: 1560: 1558: 1540: 1536: 1528: 1524: 1523: 1519: 1505:IRE Trans EC-11 1501: 1497: 1473: 1469: 1461: 1457: 1418: 1414: 1397: 1393: 1381: 1372: 1359: 1349: 1347: 1338: 1337: 1333: 1323: 1321: 1317: 1313: 1312: 1308: 1265: 1261: 1251: 1249: 1247: 1231: 1227: 1217: 1215: 1213: 1197: 1193: 1185: 1176: 1172: 1171: 1167: 1159: 1150: 1146: 1145: 1141: 1136: 1131: 1130: 1121: 1117: 1100: 1096: 1087: 1083: 1061:virtual storage 1058: 1054: 1038: 1034: 1029: 1024: 974: 940: 871: 842: 825: 808: 805: 799: 796: 727:completion and 701: 649: 589: 565: 554: 548: 545: 534: 522: 511: 505: 468:models running 317: 174:built into the 164: 130: 87:computer memory 67:The computer's 58:virtual storage 28: 17: 12: 11: 5: 2790: 2780: 2779: 2774: 2772:Virtual memory 2757: 2756: 2754: 2753: 2743: 2733: 2723: 2721:Virtual memory 2713: 2702: 2699: 2698: 2696: 2695: 2690: 2685: 2679: 2677: 2673: 2672: 2670: 2669: 2664: 2659: 2653: 2651: 2647: 2646: 2644: 2643: 2641:Stack overflow 2638: 2633: 2628: 2622: 2620: 2614: 2613: 2611: 2610: 2608:Weak reference 2605: 2600: 2595: 2590: 2585: 2580: 2575: 2570: 2565: 2560: 2555: 2549: 2547: 2541: 2540: 2538: 2537: 2532: 2527: 2521: 2519: 2513: 2512: 2510: 2509: 2504: 2499: 2494: 2489: 2484: 2478: 2476: 2470: 2469: 2467: 2466: 2461: 2456: 2451: 2449:Protected mode 2445: 2443: 2437: 2436: 2434: 2433: 2428: 2423: 2418: 2412: 2410: 2408:Virtual memory 2404: 2403: 2401: 2400: 2394: 2388: 2381: 2379: 2375: 2374: 2372: 2371: 2365: 2362: 2361: 2354: 2353: 2346: 2339: 2331: 2325: 2324: 2314: 2308: 2302: 2263: 2240:Address Spaces 2231: 2230:External links 2228: 2227: 2226: 2209: 2206: 2203: 2202: 2176: 2167: 2158: 2151: 2129: 2117:Multicians.org 2104: 2082:10.1.1.10.6731 2075:(5): 308–318. 2055: 2033: 2018: 1990: 1963: 1931: 1914: 1879: 1841: 1827: 1807: 1794:978-0738437668 1793: 1773: 1738: 1719: 1680: 1673: 1653: 1634: 1606: 1570: 1556: 1534: 1517: 1507:(2): 223–235, 1495: 1467: 1455: 1428:(4): 216–219. 1412: 1391: 1375:Denning, Peter 1357: 1331: 1306: 1259: 1246:978-8131730225 1245: 1225: 1211: 1191: 1165: 1138: 1137: 1135: 1132: 1129: 1128: 1115: 1094: 1081: 1077:z/Architecture 1052: 1031: 1030: 1028: 1025: 1023: 1022: 1016: 1011: 1004:Protected mode 1001: 996: 991: 986: 981: 975: 973: 970: 944:address spaces 939: 936: 870: 867: 841: 838: 824: 821: 765: 764: 742: 739: 700: 697: 686: 685: 682: 678: 675: 672: 669: 648: 645: 640:page registers 588: 585: 567: 566: 525: 523: 516: 504: 501: 481:protected mode 390:Atlas Computer 378:Atlas Computer 316: 313: 266: 265: 262:RCA Spectra 70 254: 245: 228: 216: 206: 163: 160: 129: 126: 54:virtual memory 15: 9: 6: 4: 3: 2: 2789: 2778: 2775: 2773: 2770: 2769: 2767: 2752: 2744: 2742: 2734: 2732: 2724: 2722: 2714: 2712: 2704: 2703: 2700: 2694: 2691: 2689: 2686: 2684: 2681: 2680: 2678: 2674: 2668: 2665: 2663: 2660: 2658: 2657:Fragmentation 2655: 2654: 2652: 2648: 2642: 2639: 2637: 2634: 2632: 2629: 2627: 2624: 2623: 2621: 2619: 2618:Memory safety 2615: 2609: 2606: 2604: 2601: 2599: 2596: 2594: 2591: 2589: 2586: 2584: 2581: 2579: 2576: 2574: 2571: 2569: 2566: 2564: 2561: 2559: 2556: 2554: 2551: 2550: 2548: 2546: 2542: 2536: 2533: 2531: 2528: 2526: 2523: 2522: 2520: 2518: 2514: 2508: 2505: 2503: 2500: 2498: 2495: 2493: 2490: 2488: 2485: 2483: 2480: 2479: 2477: 2475: 2471: 2465: 2462: 2460: 2457: 2455: 2452: 2450: 2447: 2446: 2444: 2442: 2438: 2432: 2429: 2427: 2424: 2422: 2421:Memory paging 2419: 2417: 2416:Demand paging 2414: 2413: 2411: 2409: 2405: 2398: 2395: 2392: 2389: 2386: 2383: 2382: 2380: 2376: 2370: 2367: 2366: 2363: 2359: 2352: 2347: 2345: 2340: 2338: 2333: 2332: 2329: 2322: 2318: 2315: 2312: 2309: 2306: 2303: 2300: 2296: 2292: 2288: 2284: 2275: 2268: 2264: 2262: 2259: 2256: 2253: 2250: 2247: 2244: 2241: 2237: 2234: 2233: 2224: 2223:1-55860-724-2 2220: 2216: 2212: 2211: 2190: 2186: 2180: 2171: 2162: 2154: 2148: 2145:. MIT Press. 2143: 2142: 2133: 2118: 2114: 2108: 2100: 2096: 2092: 2088: 2083: 2078: 2074: 2070: 2066: 2059: 2048: 2046: 2037: 2029: 2022: 2007: 2004: 2000: 1999:CorbatĂł, F.J. 1994: 1975: 1974: 1967: 1951: 1944: 1943: 1935: 1927: 1921: 1919: 1910: 1906: 1902: 1898: 1895:(1–4): 5–29. 1894: 1890: 1883: 1867: 1860: 1859: 1851: 1845: 1830: 1824: 1820: 1819: 1811: 1796: 1790: 1786: 1785: 1777: 1769: 1765: 1761: 1757: 1753: 1749: 1742: 1731: 1730: 1723: 1708: 1704: 1700: 1693: 1692: 1684: 1676: 1670: 1666: 1665: 1657: 1649: 1645: 1642:Joyner, Ian. 1638: 1630: 1624: 1616: 1610: 1602: 1598: 1594: 1590: 1589: 1581: 1574: 1559: 1553: 1549: 1545: 1538: 1527: 1521: 1514: 1510: 1506: 1499: 1492: 1488: 1484: 1480: 1479: 1471: 1464: 1463:Jessen (2004) 1459: 1451: 1447: 1443: 1439: 1435: 1431: 1427: 1424:(in German). 1423: 1416: 1408: 1404: 1403: 1395: 1387: 1380: 1376: 1370: 1368: 1366: 1364: 1362: 1345: 1341: 1335: 1316: 1310: 1302: 1298: 1294: 1290: 1286: 1282: 1278: 1274: 1270: 1263: 1248: 1242: 1238: 1237: 1229: 1214: 1212:9781627056021 1208: 1204: 1203: 1195: 1184: 1183: 1175: 1169: 1158: 1157: 1149: 1143: 1139: 1125: 1119: 1112: 1108: 1104: 1098: 1091: 1085: 1078: 1074: 1070: 1066: 1062: 1056: 1050: 1046: 1042: 1036: 1032: 1020: 1017: 1015: 1012: 1009: 1005: 1002: 1000: 997: 995: 992: 990: 987: 985: 982: 980: 977: 976: 969: 966: 964: 960: 956: 952: 947: 945: 935: 933: 929: 925: 920: 916: 913: 908: 904: 900: 895: 893: 892:IBM System/38 889: 884: 880: 876: 866: 862: 859: 855: 851: 850:page stealing 847: 837: 834: 830: 820: 818: 814: 793: 789: 785: 781: 777: 775: 770: 762: 758: 754: 750: 746: 743: 740: 737: 736: 735: 732: 730: 726: 722: 718: 714: 710: 706: 696: 694: 689: 683: 679: 676: 673: 670: 667: 666: 665: 661: 659: 655: 644: 642: 641: 636: 631: 628: 624: 618: 616: 612: 609: 605: 601: 597: 593: 584: 582: 578: 574: 563: 560: 552: 549:December 2010 542: 538: 532: 531: 526:This section 524: 520: 515: 514: 510: 509:Memory paging 500: 498: 494: 490: 486: 482: 478: 473: 471: 467: 463: 459: 454: 450: 444: 442: 438: 434: 430: 426: 422: 417: 415: 411: 407: 403: 399: 395: 391: 387: 379: 374: 370: 368: 364: 360: 356: 352: 348: 345: 340: 338: 334: 330: 326: 322: 312: 309: 305: 301: 297: 295: 291: 287: 283: 279: 278:address space 275: 270: 263: 259: 255: 253: 249: 246: 244: 240: 236: 232: 229: 227: 224: 220: 217: 214: 210: 207: 205: 201: 197: 196: 195: 193: 189: 185: 181: 177: 173: 169: 159: 157: 153: 151: 147: 143: 139: 135: 134:fragmentation 125: 123: 119: 114: 112: 108: 104: 100: 96: 95:address space 92: 88: 84: 80: 79: 74: 70: 65: 63: 59: 55: 51: 43: 39: 34: 30: 26: 22: 2407: 2282: 2274:the original 2246:Segmentation 2214: 2193:. Retrieved 2188: 2179: 2170: 2161: 2140: 2132: 2120:. Retrieved 2116: 2107: 2072: 2068: 2058: 2044: 2036: 2021: 2009:. Retrieved 1993: 1981:. Retrieved 1972: 1966: 1954:. Retrieved 1941: 1934: 1892: 1888: 1882: 1870:. Retrieved 1857: 1844: 1832:. Retrieved 1817: 1810: 1798:. Retrieved 1783: 1776: 1751: 1747: 1741: 1728: 1722: 1710:. Retrieved 1690: 1683: 1663: 1656: 1648:the original 1637: 1609: 1592: 1586: 1573: 1561:. Retrieved 1547: 1537: 1520: 1504: 1498: 1482: 1476: 1470: 1458: 1425: 1421: 1415: 1406: 1400: 1394: 1385: 1348:. Retrieved 1344:the original 1334: 1322:. Retrieved 1309: 1276: 1272: 1262: 1250:. Retrieved 1235: 1228: 1216:. Retrieved 1201: 1194: 1181: 1168: 1155: 1142: 1118: 1097: 1084: 1060: 1055: 1035: 967: 948: 941: 921: 917: 896: 879:segmentation 872: 863: 843: 826: 803:, as do the 778: 766: 753:I/O channels 745:Data buffers 733: 716: 712: 708: 704: 702: 699:Pinned pages 690: 687: 662: 650: 638: 632: 622: 619: 598:used by the 590: 570: 555: 546: 535:Please help 530:verification 527: 497:double fault 493:segmentation 474: 458:minicomputer 445: 436: 418: 414:segmentation 392:. It used a 383: 366: 363:cache memory 358: 354: 341: 329:multitasking 318: 298: 271: 267: 165: 154: 131: 115: 111:disk storage 91:Main storage 82: 76: 66: 57: 53: 47: 29: 2662:Memory leak 2011:13 November 1983:25 February 1956:28 November 1644:"Burroughs" 1615:"The Atlas" 1409:(4): 71–72. 1279:(1): 1–31. 899:Intel 80386 883:Intel 80286 877:B5500, use 858:working set 592:Page tables 587:Page tables 489:Intel 80386 485:Intel 80286 453:David Sayre 421:hypervisors 402:drum memory 398:core memory 304:determinism 146:to relocate 2766:Categories 2426:Page table 1872:18 January 1595:(5): 486. 1563:10 January 1252:16 October 1218:16 October 1134:References 901:and later 769:System/370 729:page fault 656:, e.g., a 608:page fault 507:See also: 321:overlaying 286:OS/VS2 SVS 188:mainframes 128:Properties 2573:Finalizer 2454:Real mode 2195:9 October 2122:9 October 2077:CiteSeerX 1952:. 1021326 1909:0166-5316 1485:: 15–21, 1442:0170-6012 1293:1539-9087 875:Burroughs 854:thrashing 840:Thrashing 833:interrupt 819:systems. 817:Unix-like 813:man pages 721:interrupt 611:exception 581:kilobytes 423:in their 344:physicist 337:registers 223:Burroughs 180:emulators 118:libraries 50:computing 2507:ptmalloc 2502:mimalloc 2492:jemalloc 2482:dlmalloc 2378:Hardware 1768:15655353 1623:cite web 1450:11514875 1377:(1997). 1324:28 April 1301:18156695 1071:through 972:See also 957:through 815:on many 600:hardware 260:for the 250:for the 241:for the 221:for the 211:for the 202:for the 142:overlays 99:segments 2578:Garbage 2497:libumem 2399:(IOMMU) 2319:at the 2299:Multics 2291:TSS/360 2099:6434322 1834:18 July 1800:18 July 1712:12 June 1697:. 1971 1350:9 March 1067:on the 953:, from 897:In the 888:Multics 788:Windows 784:OpenVMS 780:Multics 637:, used 635:SDS 940 483:of the 412:, with 349:at the 315:History 274:process 248:Multics 235:TSS/360 81:, into 60:, is a 2650:Issues 2297:, and 2221:  2149:  2097:  2079:  1907:  1825:  1791:  1766:  1671:  1554:  1448:  1440:  1299:  1291:  1243:  1209:  1111:DOS/VS 1107:OS/VS1 1103:DOS/VS 1090:360/65 1069:360/67 949:IBM's 932:linker 907:32-bit 846:paging 829:OS/VS1 709:locked 705:pinned 681:error. 623:region 462:NORD-1 394:paging 333:PDP-10 292:) are 282:OS/VS1 252:GE 645 239:CP/CMS 122:paging 2676:Other 2487:Hoard 2393:(TLB) 2387:(MMU) 2287:CP-67 2277:(PDF) 2270:(PDF) 2095:S2CID 2050:(PDF) 1977:(PDF) 1946:(PDF) 1862:(PDF) 1853:(PDF) 1764:S2CID 1733:(PDF) 1695:(PDF) 1583:(PDF) 1529:(PDF) 1446:S2CID 1382:(PDF) 1320:. AMD 1318:(PDF) 1297:S2CID 1186:(PDF) 1177:(PDF) 1160:(PDF) 1151:(PDF) 1124:IBM Z 1045:disks 1041:drums 1027:Notes 1006:, an 928:Win32 903:IA-32 844:When 806:mlock 797:mlock 757:buses 717:wired 715:, or 713:fixed 577:pages 575:into 433:S/370 429:CP-67 425:CP-40 410:B5000 308:traps 290:IBM i 226:B5000 204:Atlas 162:Usage 56:, or 2252:TLBs 2219:ISBN 2197:2016 2147:ISBN 2124:2016 2013:2007 1985:2022 1958:2013 1905:ISSN 1874:2023 1836:2017 1823:ISBN 1802:2017 1789:ISBN 1714:2022 1669:ISBN 1629:link 1565:2023 1552:ISBN 1438:ISSN 1352:2015 1326:2015 1289:ISSN 1254:2017 1241:ISBN 1220:2017 1207:ISBN 1109:and 1101:IBM 1073:z/OS 959:z/OS 926:and 924:mmap 890:and 848:and 786:and 427:and 359:i.e. 335:via 327:and 284:and 256:The 237:and 198:the 182:and 42:DASD 2295:MTS 2087:doi 1897:doi 1866:IBM 1756:doi 1703:doi 1597:doi 1509:doi 1487:doi 1430:doi 1281:doi 1122:On 1075:on 1065:TSS 1047:or 1008:x86 951:MVS 827:In 776:). 751:or 725:I/O 539:by 477:x86 470:VMS 466:VAX 449:IBM 437:SIE 367:sic 264:/46 231:MTS 219:MCP 192:DOS 176:CPU 85:in 48:In 38:RAM 2768:: 2293:, 2289:, 2187:. 2115:. 2093:. 2085:. 2073:15 2071:. 2067:. 2001:; 1948:. 1917:^ 1903:. 1893:60 1891:. 1855:. 1762:. 1752:12 1750:. 1625:}} 1621:{{ 1593:25 1591:. 1585:. 1546:. 1481:, 1444:. 1436:. 1426:19 1407:26 1405:. 1384:. 1360:^ 1295:. 1287:. 1275:. 1271:. 1179:. 1153:. 1105:, 809:() 800:() 711:, 617:. 472:. 441:VM 339:. 233:, 152:. 89:. 52:, 2350:e 2343:t 2336:v 2307:. 2301:. 2225:) 2217:( 2199:. 2155:. 2126:. 2101:. 2089:: 2052:. 2043:" 2030:. 2015:. 1987:. 1960:. 1928:. 1911:. 1899:: 1876:. 1838:. 1804:. 1770:. 1758:: 1716:. 1705:: 1677:. 1631:) 1603:. 1599:: 1567:. 1511:: 1489:: 1483:7 1465:. 1452:. 1432:: 1388:. 1354:. 1328:. 1303:. 1283:: 1277:8 1256:. 1222:. 1079:. 562:) 556:( 551:) 547:( 533:. 27:.

Index

Storage virtualization
Virtual Memory (game show)

RAM
DASD
computing
memory management
operating system
memory addresses
virtual addresses
computer memory
Main storage
address space
segments
virtual address spaces
memory management unit
disk storage
libraries
paging
fragmentation
memory hierarchy
overlays
to relocate
relative addressing
Memory virtualization
computer architecture
memory management unit
CPU
emulators
virtual machines

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

↑