Knowledge (XXG)

Memory paging

Source đź“ť

829:
where they are placed on underlying devices and accesses them directly, thus bypassing the cache and avoiding filesystem overhead. When residing on HDDs, which are rotational magnetic media devices, one benefit of using swap partitions is the ability to place them on contiguous HDD areas that provide higher data throughput or faster seek time. However, the administrative flexibility of swap files can outweigh certain advantages of swap partitions. For example, a swap file can be placed on any mounted file system, can be set to any desired size, and can be added or changed as needed. Swap partitions are not as flexible; they cannot be enlarged without using partitioning or
545:
containing the operand address crosses a page boundary, and the source and destination could both cross page boundaries. This single instruction references ten pages; if not all are in RAM, each will cause a page fault. As each fault occurs the operating system needs to go through the extensive memory management routines perhaps causing multiple I/Os which might include writing other process pages to disk and reading pages of the active process from disk. If the operating system could not allocate ten pages to this program, then remedying the page fault would discard another page the instruction needs, and any restart of the instruction would fault again.
754:
sequential order, so the performance advantage of having a completely sequential page file is minimal. However, a large page file generally allows the use of memory-heavy applications, with no penalties besides using more disk space. While a fragmented page file may not be an issue by itself, fragmentation of a variable size page file will over time create several fragmented blocks on the drive, causing other files to become fragmented. For this reason, a fixed-size contiguous page file is better, providing that the size allocated is large enough to accommodate the needs of all applications.
711: 908:. If code or data used by the X server to respond to a keystroke is not in main memory, then if the user enters a keystroke, the server will take one or more page faults, requiring those pages to read from swap before the keystroke can be processed, slowing the response to it. If those pages do not remain in memory, they will have to be faulted in again to handle the next keystroke, making the system practically unresponsive even if it's actually executing other tasks normally. 409:. To further increase responsiveness, paging systems may predict which pages will be needed soon, preemptively loading them into RAM before a program references them, and may steal page frames from pages that have been unreferenced for a long time, making them available. Some systems clear new pages to avoid data leaks that compromise security; some set them to installation defined or random values to aid debugging. 2545: 2535: 2525: 2515: 2505: 872:; setting it higher can cause high latency if cold pages need to be swapped back in (when interacting with a program that had been idle for example), while setting it lower (even 0) may cause high latency when files that had been evicted from the cache need to be read again, but will make interactive programs more responsive as they will be less likely to need to swap back cold pages. Swapping can also slow down 693:. The default location of the page file is in the root directory of the partition where Windows is installed. Windows can be configured to use free space on any available drives for page files. It is required, however, for the boot partition (i.e., the drive containing the Windows directory) to have a page file on it if the system is configured to write either kernel or full memory dumps after a 64: 529:. Thrashing occurs on a program that works with huge data structures, as its large working set causes continual page faults that drastically slow down the system. Satisfying page faults may require freeing pages that will soon have to be re-read from disk. "Thrashing" is also used in contexts other than virtual memory systems; for example, to describe 995:), and the smallest amount of data that can be erased at once might be very large (128 KiB for an Intel X25-M SSD ), seldom coinciding with pagesize. Therefore, flash memory may wear out quickly if used as swap space under tight memory conditions. On the attractive side, flash memory is practically delayless compared to hard disks, and not 676:
use a similar file, and the settings for it are located under Control Panel → System → Performance tab → Virtual Memory. Windows automatically sets the size of the page file to start at 1.5× the size of physical memory, and expand up to 3× physical memory if necessary. If a user runs memory-intensive
1103:
In addition the operating system may provide services to programs that envision a larger memory, such as files that can grow beyond the limit of installed RAM. Not all of the file can be concurrently mapped into the address space of a process, but the operating system might allow regions of the file
1099:
However, even in this case, paging can be used to support more virtual memory than physical memory. For instance, many programs may be running concurrently. Together, they may require more physical memory than can be installed on the system, but not all of it will have to be in RAM at once. A paging
753:
Locking a page file size can be problematic if a Windows application requests more memory than the total size of physical memory and the page file, leading to failed requests to allocate memory that may cause applications and system processes to fail. Also, the page file is rarely read or written in
572:
Different programs might also use the same libraries. To save space, only one copy of the shared library is loaded into physical memory. Programs which use the same library have virtual addresses that map to the same pages (which contain the library's code and data). When programs want to modify the
485:
The free page queue is a list of page frames that are available for assignment. Preventing this queue from being empty minimizes the computing necessary to service a page fault. Some operating systems periodically look for pages that have not been recently referenced and then free the page frame and
828:
From the end-user perspective, swap files in versions 2.6.x and later of the Linux kernel are virtually as fast as swap partitions; the limitation is that swap files should be contiguously allocated on their underlying file systems. To increase performance of swap files, the kernel keeps a map of
811:
The Linux kernel supports a virtually unlimited number of swap backends (devices or files), and also supports assignment of backend priorities. When the kernel swaps pages out of physical memory, it uses the highest-priority backend with available free space. If multiple swap backends are assigned
454:
When a page fault occurs, anticipatory paging systems will not only bring in the referenced page, but also other pages that are likely to be referenced soon. A simple anticipatory paging algorithm will bring in the next few consecutive pages even though they are not yet needed (a prediction using
450:
Other systems attempt to reduce latency by guessing which pages not in RAM are likely to be needed soon, and pre-loading such pages into RAM, before that page is requested. (This is often in combination with pre-cleaning, which guesses which pages currently in RAM are not likely to be needed soon,
889:
When the system memory is highly insufficient for the current tasks and a large portion of memory activity goes through a slow swap, the system can become practically unable to execute any task, even if the CPU is idle. When every process is waiting on the swap, the system is considered to be in
764:
the page file is also occasionally recommended to improve performance when a Windows system is chronically using much more memory than its total physical memory. This view ignores the fact that, aside from the temporary results of expansion, the page file does not become fragmented over time. In
757:
The required disk space may be easily allocated on systems with more recent specifications (i.e. a system with 3 GB of memory having a 6 GB fixed-size page file on a 750 GB disk drive, or a system with 6 GB of memory and a 16 GB fixed-size page file and 2 TB of disk
745:
which can potentially cause performance problems. The common advice given to avoid this is to set a single "locked" page file size so that Windows will not expand it. However, the page file only expands when it has been filled, which, in its default configuration, is 150% of the total amount of
524:
When the working set is a small percentage of the system's total number of pages, virtual memory systems work most efficiently and an insignificant amount of computing is spent resolving page faults. As the working set grows, resolving page faults remains manageable until the growth reaches a
544:
processors. A single MOVL crossing a page boundary could have a source operand using a displacement deferred addressing mode, where the longword containing the operand address crosses a page boundary, and a destination operand using a displacement deferred addressing mode, where the longword
393:
by a program to hold data, or if a program modified it since it was read into RAM (in other words, if it has become "dirty"), it must be written out to disk before being freed. If a program later references the evicted page, another page fault occurs and the page must be read back into RAM.
498:
The operating system may periodically pre-clean dirty pages: write modified pages back to disk even though they might be further modified. This minimizes the amount of cleaning needed to obtain new page frames at the moment a new program starts or a new data file is opened, and improves
219:). A swapped-out program would be current but its execution would be suspended while its RAM was in use by another program; a program with a swapped-out segment could continue running until it needed that segment, at which point it would be suspended until the segment was swapped in. 864:, whenever a memory allocation request cannot be met from free memory. Swappiness can be set to a value from 0 to 200. A low value causes the kernel to prefer to evict pages from the page cache while a higher value causes the kernel to prefer to swap out "cold" memory pages. The 1044:
Paging is one way of allowing the size of the addresses used by a process, which is the process's "virtual address space" or "logical address space", to be different from the amount of main memory actually installed on a particular computer, which is the physical address space.
428:
When pure demand paging is used, pages are loaded only when they are referenced. A program from a memory mapped file begins execution with none of its pages in RAM. As the program commits page faults, the operating system copies the needed pages from a file, e.g.,
749:
The fragmentation of the page file that occurs when it expands is temporary. As soon as the expanded regions are no longer in use (at the next reboot, if not sooner) the additional disk space allocations are freed and the page file is back to its original state.
880:
do not have this problem. Certainly the default values work well in most workloads, but desktops and interactive systems for any expected task may want to lower the setting while batch processing and less interactive systems may want to increase it.
1065:'s 32-bit internal addresses can address 4 GB, but it has only 24 pins connected to the address bus, limiting installed physical memory to 16 MB. There may be other hardware restrictions on the maximum amount of RAM that can be installed. 780:
operating systems, use the term "swap" to describe the act of substituting disk space for RAM when physical RAM is full. In some of those systems, it is common to dedicate an entire partition of a hard disk to swapping. These partitions are called
1035:
In some older virtual memory operating systems, space in swap backing store is reserved when programs allocate memory for runtime data. Operating system vendors typically issue guidelines about how much swap space should be allocated.
697:. Windows uses the paging file as temporary storage for the memory dump. When the system is rebooted, Windows copies the memory dump from the page file to a separate file and frees the space that was used in the page file. 983:
Mainframe computers frequently used head-per-track disk drives or drums for page and swap storage to eliminate seek time, and several technologies to have multiple concurrent requests to the same device in order to reduce
1124:. This nullifies a significant advantage of paging, since a single process cannot use more main memory than the amount of its virtual address space. Such systems often use paging techniques to obtain secondary benefits: 548:
To decrease excessive paging and resolve thrashing problems, a user can increase the number of pages available per program, either by running fewer programs concurrently or increasing the amount of RAM in the computer.
1135:
If the processor and operating system support multiple virtual address spaces, the "extra memory" can be used to run more processes. Paging allows the cumulative total of virtual address spaces to exceed physical main
785:. Many systems have an entire hard drive dedicated to swapping, separate from the data drive(s), containing only a swap partition. A hard drive dedicated to swapping is called a "swap drive" or a "scratch drive" or a " 230:, and individual program segments became the units exchanged between disk and RAM. A segment was the program's entire code segment or data segment, or sometimes other large data structures. These segments had to be 613:) memory with one entry for each 512 word page. The Supervisor handled non-equivalence interruptions and managed the transfer of pages between core and drum in order to provide a one-level store to programs. 1905: 1300:
Some systems have a global page table, some systems have a separate page table for each process, some systems have a separate page table for each segment and some systems have cascaded page tables.
517:
After completing initialization, most programs operate on a small number of code and data pages compared to the total memory the program requires. The pages most frequently accessed are called the
565:
environment, many users may execute the same program, written so that its code and data are in separate pages. To minimize RAM use, all users share a single copy of the program. Each process's
958:, several milliseconds for a hard disk. Therefore, it is desirable to reduce or eliminate swapping, where practical. Some operating systems offer settings to influence the kernel's decisions. 919:
uses multiple swap files. The default (and Apple-recommended) installation places them on the root partition, though it is possible to place them instead on a separate partition or device.
490:; if a program commits a page fault by referencing a page that was stolen, the operating system detects this and restores the page frame without having to read the contents back into RAM. 525:
critical point. Then faults go up dramatically and the time spent resolving them overwhelms time spent on the computing the program was written to do. This condition is referred to as
1068:
The maximum memory might not be installed because of cost, because the model's standard configuration omits it, or because the buyer did not believe it would be advantageous.
226:
that occupy the same memory at different times. Overlays are not a method of paging RAM to disk but merely of minimizing the program's RAM use. Subsequent architectures used
938:
but may lock up system if all physical memory is used up. Swap memory could be activated and deactivated any moment allowing the user to choose to use only physical RAM.
741:
In the default configuration of Windows, the page file is allowed to expand beyond its initial allocation when necessary. If this happens gradually, it can become heavily
2634: 2021: 569:
is set up so that the pages that address code point to the single shared copy, while the pages that address data point to different physical pages for each process.
930:
introduced a new system for allocating RAM and defragmenting physical memory. It still uses flat shared address space that cannot be defragmented. It is based on
650:, but it may appear elsewhere (typically in the WINDOWS directory). Its size depends on how much swap space the system has (a setting selected by the user under 746:
physical memory. Thus the total demand for page file-backed virtual memory must exceed 250% of the computer's physical memory before the page file will expand.
1901: 2485: 2581: 2146: 1071:
Sometimes not all internal addresses can be used for memory anyway, because the hardware architecture may reserve large regions for I/O or other features.
389:
When all page frames are in use, the operating system must select a page frame to reuse for the page the program now needs. If the evicted page frame was
905: 1987: 1629: 1923: 580:
Shared memory is an efficient means of communication between programs. Programs can share pages in memory, and then write and read to exchange data.
1421: 1359: 2194: 2103: 2079: 256:, (1962), was the first system to implement memory paging. Subsequent early machines, and their operating systems, supporting paging include the 1579: 1556: 2910: 2881: 2538: 2342: 2166: 1861: 1578:. Conferences Proceedings. Vol. 20, Proceedings of the Eastern Joint Computer Conference Washington, D.C. Macmillan. pp. 279–294. 2528: 1867: 1836: 662:"The permanent swap file is corrupt". The user will be prompted to choose whether or not to delete the file (even if it does not exist). 2548: 1662: 1154:
A set of processes may still depend upon the enhanced security features page-based isolation may bring to a multitasking environment.
81: 1415: 1384: 1353: 1942: 146:
implementations in modern operating systems, using secondary storage to let programs exceed the size of available physical memory.
2685: 2629: 1961: 1100:
system makes efficient decisions on which memory to relegate to secondary storage, leading to the best use of the installed RAM.
169: 677:
applications on a system with low physical memory, it is preferable to manually set these sizes to a value higher than default.
2604: 2574: 2365: 2139: 765:
general, performance concerns related to page file access are much more effectively dealt with by adding more physical memory.
1530: 1322:
A non-equivalence interruption occurs when the high order bits of an address do not match any entry in the associative memory.
2797: 2695: 2490: 401:, is important to efficiency. The operating system predicts the page frame least likely to be needed soon, often through the 382: 1390: 820:
storage layouts), providing improved performance as long as the underlying devices can be efficiently accessed in parallel.
1886: 1053:
In most systems, the size of a process's virtual address space is much larger than the available main memory. For example:
3075: 2624: 2609: 2050: 2017: 1158:
The size of the cumulative total of virtual address spaces is still limited by the amount of secondary storage available.
293: 2670: 2655: 2614: 2350: 2188: 526: 512: 192: 969:
parameter, which changes the balance between swapping out runtime memory, as opposed to dropping pages from the system
758:
space). In both examples, the system uses about 0.8% of the disk space with the page file pre-extended to its maximum.
2836: 2783: 2327: 594: 265: 2385: 3096: 2851: 2690: 2567: 2508: 2395: 2375: 2228: 2132: 1205: 1121: 1093: 1024: 865: 610: 475: 466:
If a program ends, the operating system may delay freeing its pages, in case the user runs the same program again.
402: 398: 2886: 2705: 2665: 2660: 2619: 2454: 1112:
A few computers have a main memory larger than the virtual address space of a process, such as the Magic-1, some
830: 742: 185: 1168: 357:
Determine whether a stolen page frame still contains an unmodified copy of the page; if so, use that page frame.
2929: 2816: 2680: 2314: 1787: 1766: 1716: 602: 313: 253: 235: 1741: 463:
in a CPU. Swap prefetching will prefetch recently swapped-out pages if there are enough free pages for them.
1983: 1802: 3101: 2675: 2518: 2380: 2355: 2261: 1617: 798: 789:". Some of those systems only support swapping to a swap partition; others also support swapping to files. 277: 269: 231: 2332: 3063: 3002: 2891: 2871: 2820: 2778: 2284: 2182: 1919: 1194: 857: 813: 177: 173: 138: 49: 2846: 2812: 2714: 2650: 1593:
Kilburn, T.; Edwards, D. B. G.; Lanigan, M. J.; Sumner, F. H. (April 1962). "One-Level Storage System".
898: 651: 534: 456: 320: 223: 129: 125: 35: 2360: 1515:
Sumner, F. H.; Haley, G.; Chenh, E. C. Y. (1962). "The Central Control Unit of the 'Atlas' Computer".
3043: 3017: 951: 694: 655: 460: 165:, etc.), but as with many aspects of computing, the concepts are independent of the technology used. 150: 133: 1571: 1548: 1476: 1439: 3012: 2964: 2841: 2238: 1189: 1132:
to cache frequently used files and metadata, such as directory information, from secondary storage.
227: 208: 980:
registry setting, which controls whether kernel-mode code and data can be eligible for paging out.
486:
add it to the free page queue, a process known as "page stealing". Some operating systems support
2949: 2856: 2480: 2464: 2390: 1457:. Proc. AFIPS Computer Conference 30 (Spring Joint Computer Conference, 1967). pp. 611–621. 1140: 1004: 985: 947: 430: 390: 76: 1455:
Experience using a time sharing multiprogramming system with dynamic address relocation hardware
2088:
from HowStuffWorks.com (in fact explains only swapping concept, and not virtual memory concept)
1684: 327:
to allow the processor to operate on arbitrary pages anywhere in RAM as a seemingly contiguous
3058: 3007: 2939: 2896: 2737: 2256: 2155: 1857: 1851: 1832: 1500: 1411: 1380: 1349: 1251: 1184: 877: 627: 558: 530: 162: 121: 503:
to pre-clean all dirty pages; Windows operating systems use "modified page writer" threads.)
3038: 2590: 2433: 2428: 2271: 1650: 1598: 1458: 1104:
can be mapped into the address space, and unmapped if another region needs to be mapped in.
1027:) allow using multiple storage devices for swap space in parallel, to increase performance. 853: 249: 245: 211:
would be "swapped out" (or "rolled out") from RAM to disk or drum, and another one would be
196: 181: 105: 353:
and transfers control from the program to the operating system. The operating system must:
2982: 2944: 2915: 2423: 2322: 1247: 1215: 1179: 996: 931: 873: 328: 207:
In the 1960s, swapping was an early virtual memory technique. An entire program or entire
154: 132:. In this scheme, the operating system retrieves data from secondary storage in same-size 1096:(PAE). In this case, the processor is able to address all the RAM installed and no more. 1938: 724:
Please help update this article to reflect recent events or newly available information.
3068: 2992: 2954: 2826: 2438: 2405: 2400: 2246: 2205: 2121:
driver that can be used to save the paging file of Windows on a swap partition of Linux
2085: 1957: 1221: 849: 647: 289: 143: 53: 42: 1404:
Belzer, Jack; Holzman, Albert G.; Kent, Allen, eds. (1981). "Virtual memory systems".
1084:-bit addressing may have 2 addressable units of RAM installed. An example is a 32-bit 360:
Otherwise, obtain an empty page frame in RAM to use as a container for the data, and:
319:
Those machines, and subsequent machines supporting memory paging, use either a set of
3090: 2773: 2727: 2415: 2213: 1173: 659: 574: 444: 423: 397:
The method the operating system uses to select the page frame to reuse, which is its
2097: 2861: 1882: 1534: 992: 845: 786: 309: 2091: 1405: 1374: 1343: 1342:
Belzer, Jack; Holzman, Albert G.; Kent, Allen, eds. (1981). "Operating systems".
2987: 2969: 2752: 2742: 2732: 2459: 1519:. IFIP Congress Proceedings. Vol. Proceedings of IFIP Congress 62. Spartan. 1435: 1243: 1062: 1058: 955: 935: 927: 635: 631: 518: 500: 406: 257: 158: 2046: 2223: 1210: 1199: 1129: 1000: 970: 965: 861: 761: 686: 673: 669: 665: 654:→ Enhanced under "Virtual Memory"). If the user moves or deletes this file, a 566: 562: 375: 350: 346: 340: 324: 234:
when resident in RAM, requiring additional computation and movement to remedy
2109:
Windows XP: How to manually change the size of the virtual memory paging file
1602: 2924: 2831: 2757: 2722: 2370: 2251: 2073: 1658: 1625: 1462: 1148: 1012: 777: 273: 172:, paged memory functionality is usually hardwired into a CPU/MCU by using a 117: 904:
The original description of the "swapping to death" problem relates to the
2113: 2108: 2018:"Aligning filesystems to an SSD's erase block size | Thoughts by Ted" 1533:. University of Manchester: Department of Computer Science. Archived from 946:
The backing store for a virtual memory operating system is typically many
3053: 2304: 2299: 2289: 2279: 1089: 598: 241: 102: 30:"Paging" redirects here. For paging as a form of telecommunications, see 1738:""Jesper Juhl": Re: How to send a break? - dump from frozen 64bit linux" 447:—waiting until a page is actually requested before loading it into RAM. 3048: 2977: 2747: 2294: 1264: 606: 301: 281: 261: 433:, paging file, or a swap partition containing the page data into RAM. 17: 1762: 1276: 1272: 1268: 1113: 833:
tools, which introduce various complexities and potential downtimes.
817: 305: 297: 285: 2559: 2124: 2114:
Windows XP: Factors that may deplete the supply of paged pool memory
1737: 1708: 331:
space. These pages became the units exchanged between disk and RAM.
1495: 345:
When a process tries to reference a page not currently mapped to a
2997: 1810: 1144: 1020: 934:
and paging memory that allows swapping. Paging was implemented in
916: 802: 31: 2118: 2007:
E.g., Rotational Position Sensing on a Block Multiplexor channel
1288: 806: 773: 349:
in RAM, the processor treats this invalid memory reference as a
2563: 2128: 3033: 1310: 1117: 1085: 1016: 704: 541: 189: 180:(MPU) and separately enabled by privileged system code in the 57: 2080:
Windows Server - Moving Pagefile to another partition or disk
195:(ISA) for instance, the memory paging is enabled via the CR0 1151:, and map files into and out of the address space as needed. 991:
Flash memory has a finite number of erase-write cycles (see
954:. Additionally, using mechanical storage devices introduces 1570:
Kilburn, T.; Payne, R. B.; Howarth, D. J. (December 1961).
593:
The first computer to support paging was the supercomputer
149:
For simplicity, main memory is called "RAM" (an acronym of
1478:
Scientific Data Systems Reference Manual, SDS 940 Computer
876:
further because it involves a lot of random writes, while
381:
Return control to the program, transparently retrying the
153:) and secondary storage is called "disk" (a shorthand for 124:
scheme by which a computer stores and retrieves data from
1061:
that connects the CPU to main memory may be limited. The
499:
responsiveness. (Unix operating systems periodically use
658:
will appear the next time Windows is started, with the
405:(LRU) algorithm or an algorithm based on the program's 2167:
Memory management as a function of an operating system
1202:, a disk cache that utilizes virtual memory mechanism 848:
parameter that controls the relative weight given to
646:
for use as a swap file. It is generally found in the
369:
Load the required data into the available page frame.
897:
Swap death can happen due to incorrectly configured
3026: 2963: 2909: 2870: 2805: 2796: 2766: 2713: 2704: 2643: 2597: 2473: 2447: 2414: 2341: 2313: 2270: 2237: 2204: 2175: 1853:
DevOps Troubleshooting: Linux Server Best Practices
1788:"The Linux Kernel Documentation for /proc/sys/vm/" 366:If so determine the location of the data on disk. 1763:"Andrew Morton: Re: Swap partition vs swap file" 1685:"An introduction to swap space on Linux systems" 1407:Encyclopedia of computer science and technology 1345:Encyclopedia of computer science and technology 363:Determine whether the page was ever initialized 1379:. Jones and Bartlett Publishers. p. 109. 2575: 2140: 1108:Main memory larger than virtual address space 8: 2486:International Symposium on Memory Management 1597:(2). Institute of Radio Engineers: 223–235. 1833:"swap death (as in 2.1.91) and page tables" 1143:on memory-backed file systems, such as the 1076:Main memory the same size as virtual memory 577:, so memory is only allocated when needed. 73:needs attention from an expert in computing 2802: 2710: 2582: 2568: 2560: 2147: 2133: 2125: 2104:Virtual Memory Page Replacement Algorithms 1007:are made to exploit these characteristics. 481:Free page queue, stealing, and reclamation 54:Virtual memory § Paged virtual memory 2040: 2038: 609:in 1963. The machine had an associative ( 260:and its MOS operating system (1964), the 2098:Guide On Optimizing Virtual Memory Speed 1984:"Re: Swap issue also on Update 4 ?" 1595:IRE Transactions on Electronic Computers 1576:Computers - Key to Total Systems Control 1348:. Vol. 11. CRC Press. p. 442. 1116:machines, and some systems using 32-bit 1040:Physical and virtual address space sizes 1410:. Vol. 14. CRC Press. p. 32. 1376:Memory Systems and Pipelined Processors 1334: 1235: 1224:, an abstraction that paging may create 1049:Main memory smaller than virtual memory 1555:. Chilton: Atlas Computer Laboratory. 1128:The "extra memory" can be used in the 976:Windows 2000, XP, and Vista offer the 816:fashion (which is somewhat similar to 812:the same priority, they are used in a 451:and pre-writing them out to storage). 84:may be able to help recruit an expert. 1982:AmigaOS Core Developer (2011-01-08). 7: 2047:"Magic-1 Minix Demand Paging Design" 2195:Input–output memory management unit 1616:Tsigkogiannis, Ilias (2006-12-11). 1438:; Payne, R B; Howarth, D J (1962). 1622:driver writing != bus driving 312:-designed paging hardware and the 25: 1651:"Windows Sysinternals PageDefrag" 1147:file system or file systems on a 222:A program might include multiple 142:. Paging is an important part of 27:Computer memory management scheme 2686:Object-oriented operating system 2544: 2543: 2534: 2533: 2524: 2523: 2514: 2513: 2504: 2503: 2094:(outdated, as the author admits) 1945:from the original on 2017-03-28. 1926:from the original on 2017-05-31. 1908:from the original on 2017-07-23. 1889:from the original on 2017-08-13. 1870:from the original on 2017-12-29. 1839:from the original on 2017-12-29. 1582:from the original on 2009-12-31. 1559:from the original on 2012-12-10. 1424:from the original on 2017-02-27. 1393:from the original on 2017-02-27. 1362:from the original on 2017-02-27. 709: 685:The file used for paging in the 634:in 1990. Windows 3.x creates a 62: 2366:Concurrent mark sweep collector 2053:from the original on 2013-06-05 2024:from the original on 2010-11-13 1990:from the original on 2013-04-12 1964:from the original on 2008-09-05 1856:. Addison-Wesley. p. 159. 1769:from the original on 2010-11-24 1744:from the original on 2010-11-24 1719:from the original on 2014-02-28 1665:from the original on 2010-12-25 1632:from the original on 2008-10-07 1015:operating systems (for example 378:to refer to the new page frame. 2696:Supercomputer operating system 2491:Region-based memory management 1937:Peter MacDonald (1993-02-10). 1801:Andrews, Jeremy (2004-04-29). 280:and operating systems such as 1: 626:Paging has been a feature of 294:Time Sharing Operating System 276:operating system (1967), the 2671:Just enough operating system 2656:Distributed operating system 2539:Memory management algorithms 2351:Automatic Reference Counting 2189:Translation lookaside buffer 1956:John Siracusa (2001-10-15). 1920:"Memory overcommit settings" 1709:"swapon(2) – Linux man page" 1139:A process can store data in 540:A worst case might occur on 513:Thrashing (computer science) 193:instruction set architecture 2784:User space and kernel space 2529:Automatic memory management 2328:C dynamic memory allocation 2092:Linux swap space management 1831:Rik van Riel (1998-05-20). 1517:Information Processing 1962 1313:(Multiple Virtual Storage). 999:as RAM chips. Schemes like 993:limitations of flash memory 470:Page replacement techniques 385:that caused the page fault. 266:Berkeley Timesharing System 188:. In CPUs implementing the 3118: 2691:Real-time operating system 2549:Memory management software 2396:Tracing garbage collection 2229:Virtual memory compression 1986:. Hyperion Entertainment. 1883:"The Linux kernel: Memory" 1803:"Linux: Tuning Swappiness" 1683:Both, David (2020-03-27). 1373:Cragon, Harvey G. (1996). 1254:have been used for paging. 1206:Page replacement algorithm 1122:Physical Address Extension 1094:Physical Address Extension 796: 769:Unix and Unix-like systems 622:Windows 3.x and Windows 9x 510: 476:Page replacement algorithm 473: 459:); this is analogous to a 421: 399:page replacement algorithm 338: 47: 40: 29: 2887:Multilevel feedback queue 2882:Fixed-priority preemptive 2666:Hobbyist operating system 2661:Embedded operating system 2499: 2162: 2020:. Thunk.org. 2009-02-20. 856:, as opposed to dropping 824:Swap files and partitions 718:This section needs to be 573:library's code, they use 316:operating system (1969). 2930:General protection fault 2681:Network operating system 2635:User features comparison 2323:Static memory allocation 2315:Manual memory management 2086:How Virtual Memory Works 2074:Swap Facts and questions 1603:10.1109/TEC.1962.5219356 1176:, a "lazy" paging scheme 603:University of Manchester 413:Page fetching techniques 254:University of Manchester 41:Not to be confused with 2676:Mobile operating system 2381:Garbage-first collector 2356:Boehm garbage collector 2262:x86 memory segmentation 2076:by Ubuntu Documentation 1463:10.1145/1465482.1465581 799:Swap partitions on SSDs 597:, jointly developed by 533:issues in computing or 278:IBM System/360 Model 67 270:IBM System/360 Model 40 2779:Loadable kernel module 2386:Mark–compact algorithm 2183:Memory management unit 1572:"The Atlas Supervisor" 1440:"The Atlas Supervisor" 1195:Page (computer memory) 1088:processor with 4  978:DisablePagingExecutive 932:slab allocation method 443:Some systems use only 321:page address registers 178:Memory Protection Unit 174:Memory Management Unit 50:Page (computer memory) 34:. For other uses, see 2847:Process control block 2813:Computer multitasking 2651:Disk operating system 1618:"Crash Dump Analysis" 1484:. 1966. pp. 8–9. 1218:, a subject of paging 1080:A computer with true 899:memory overcommitment 535:silly window syndrome 457:locality of reference 391:dynamically allocated 82:WikiProject Computing 3018:Virtual tape library 2610:Forensic engineering 2333:new and delete (C++) 1850:Kyle Rankin (2012). 1740:. LKML. 2006-05-29. 1549:"Atlas Architecture" 695:Blue Screen of Death 461:prefetch input queue 151:random-access memory 3027:Supporting concepts 3013:Virtual file system 2239:Memory segmentation 1939:"swapping to death" 1190:Memory segmentation 1141:memory-mapped files 948:orders of magnitude 776:systems, and other 611:content-addressable 439:Anticipatory paging 403:least recently used 268:(1966), a modified 228:memory segmentation 2950:Segmentation fault 2798:Process management 2481:Automatic variable 2465:Unreachable memory 2391:Reference counting 2361:Cheney's algorithm 2343:Garbage collection 1496:"Swap prefetching" 1252:solid-state drives 1005:Intel Turbo Memory 986:rotational latency 431:memory-mapped file 3097:Memory management 3084: 3083: 2940:Memory protection 2911:Memory management 2905: 2904: 2897:Shortest job next 2792: 2791: 2591:Operating systems 2557: 2556: 2509:Memory management 2257:Virtual 8086 mode 2156:Memory management 2082:by David Nudelman 1902:"Capacity Tuning" 1881:Andries Brouwer. 1863:978-0-13-303550-6 1501:Linux Weekly News 1185:Memory management 962:Linux offers the 831:volume management 739: 738: 628:Microsoft Windows 617:Microsoft Windows 559:multi-programming 252:developed at the 168:Depending on the 163:solid-state drive 126:secondary storage 122:memory management 106:operating systems 99: 98: 16:(Redirected from 3109: 3039:Computer network 2803: 2711: 2584: 2577: 2570: 2561: 2547: 2546: 2537: 2536: 2527: 2526: 2517: 2516: 2507: 2506: 2434:Dangling pointer 2429:Buffer over-read 2401:Strong reference 2272:Memory allocator 2149: 2142: 2135: 2126: 2062: 2061: 2059: 2058: 2042: 2033: 2032: 2030: 2029: 2014: 2008: 2005: 1999: 1998: 1996: 1995: 1979: 1973: 1972: 1970: 1969: 1960:. Ars Technica. 1953: 1947: 1946: 1934: 1928: 1927: 1916: 1910: 1909: 1897: 1891: 1890: 1878: 1872: 1871: 1847: 1841: 1840: 1828: 1822: 1821: 1819: 1818: 1809:. Archived from 1798: 1792: 1791: 1784: 1778: 1777: 1775: 1774: 1759: 1753: 1752: 1750: 1749: 1734: 1728: 1727: 1725: 1724: 1705: 1699: 1698: 1696: 1695: 1680: 1674: 1673: 1671: 1670: 1647: 1641: 1640: 1638: 1637: 1613: 1607: 1606: 1590: 1584: 1583: 1567: 1561: 1560: 1545: 1539: 1538: 1527: 1521: 1520: 1512: 1506: 1505: 1492: 1486: 1485: 1483: 1473: 1467: 1466: 1450: 1444: 1443: 1432: 1426: 1425: 1401: 1395: 1394: 1370: 1364: 1363: 1339: 1323: 1320: 1314: 1307: 1301: 1298: 1292: 1285: 1279: 1261: 1255: 1248:hard disk drives 1240: 1169:BĂ©lády's anomaly 1120:processors with 979: 968: 928:AmigaOS 4.0 871: 860:from the system 734: 731: 725: 713: 712: 705: 692: 645: 641: 488:page reclamation 304:(1969), and the 250:Atlas Supervisor 197:control register 182:operating system 94: 91: 85: 66: 65: 58: 21: 3117: 3116: 3112: 3111: 3110: 3108: 3107: 3106: 3087: 3086: 3085: 3080: 3022: 2983:Defragmentation 2968: 2959: 2945:Protection ring 2914: 2901: 2873: 2866: 2788: 2762: 2700: 2639: 2593: 2588: 2558: 2553: 2495: 2469: 2443: 2424:Buffer overflow 2410: 2337: 2309: 2266: 2233: 2200: 2171: 2158: 2153: 2070: 2065: 2056: 2054: 2044: 2043: 2036: 2027: 2025: 2016: 2015: 2011: 2006: 2002: 1993: 1991: 1981: 1980: 1976: 1967: 1965: 1958:"Mac OS X 10.1" 1955: 1954: 1950: 1936: 1935: 1931: 1918: 1917: 1913: 1899: 1898: 1894: 1880: 1879: 1875: 1864: 1849: 1848: 1844: 1830: 1829: 1825: 1816: 1814: 1800: 1799: 1795: 1786: 1785: 1781: 1772: 1770: 1761: 1760: 1756: 1747: 1745: 1736: 1735: 1731: 1722: 1720: 1707: 1706: 1702: 1693: 1691: 1682: 1681: 1677: 1668: 1666: 1649: 1648: 1644: 1635: 1633: 1615: 1614: 1610: 1592: 1591: 1587: 1569: 1568: 1564: 1547: 1546: 1542: 1529: 1528: 1524: 1514: 1513: 1509: 1494: 1493: 1489: 1481: 1475: 1474: 1470: 1453:R. W. O'Neill. 1452: 1451: 1447: 1434: 1433: 1429: 1418: 1403: 1402: 1398: 1387: 1372: 1371: 1367: 1356: 1341: 1340: 1336: 1332: 1327: 1326: 1321: 1317: 1308: 1304: 1299: 1295: 1286: 1282: 1262: 1258: 1241: 1237: 1232: 1227: 1216:Physical memory 1180:Expanded memory 1164: 1110: 1078: 1051: 1042: 1033: 1031:Swap space size 977: 963: 944: 925: 914: 887: 869: 839: 826: 809: 795: 783:swap partitions 771: 735: 729: 726: 723: 714: 710: 703: 690: 683: 643: 639: 624: 619: 591: 586: 584:Implementations 555: 537:in networking. 515: 509: 496: 483: 478: 472: 441: 426: 420: 415: 343: 337: 329:logical address 205: 155:hard disk drive 95: 89: 86: 80: 67: 63: 56: 46: 39: 28: 23: 22: 15: 12: 11: 5: 3115: 3113: 3105: 3104: 3102:Virtual memory 3099: 3089: 3088: 3082: 3081: 3079: 3078: 3073: 3072: 3071: 3069:User interface 3066: 3056: 3051: 3046: 3041: 3036: 3030: 3028: 3024: 3023: 3021: 3020: 3015: 3010: 3005: 3000: 2995: 2993:File attribute 2990: 2985: 2980: 2974: 2972: 2961: 2960: 2958: 2957: 2955:Virtual memory 2952: 2947: 2942: 2937: 2932: 2927: 2921: 2919: 2907: 2906: 2903: 2902: 2900: 2899: 2894: 2889: 2884: 2878: 2876: 2868: 2867: 2865: 2864: 2859: 2854: 2849: 2844: 2839: 2834: 2829: 2827:Context switch 2824: 2809: 2807: 2800: 2794: 2793: 2790: 2789: 2787: 2786: 2781: 2776: 2770: 2768: 2764: 2763: 2761: 2760: 2755: 2750: 2745: 2740: 2735: 2730: 2725: 2719: 2717: 2708: 2702: 2701: 2699: 2698: 2693: 2688: 2683: 2678: 2673: 2668: 2663: 2658: 2653: 2647: 2645: 2641: 2640: 2638: 2637: 2632: 2627: 2622: 2617: 2612: 2607: 2601: 2599: 2595: 2594: 2589: 2587: 2586: 2579: 2572: 2564: 2555: 2554: 2552: 2551: 2541: 2531: 2521: 2519:Virtual memory 2511: 2500: 2497: 2496: 2494: 2493: 2488: 2483: 2477: 2475: 2471: 2470: 2468: 2467: 2462: 2457: 2451: 2449: 2445: 2444: 2442: 2441: 2439:Stack overflow 2436: 2431: 2426: 2420: 2418: 2412: 2411: 2409: 2408: 2406:Weak reference 2403: 2398: 2393: 2388: 2383: 2378: 2373: 2368: 2363: 2358: 2353: 2347: 2345: 2339: 2338: 2336: 2335: 2330: 2325: 2319: 2317: 2311: 2310: 2308: 2307: 2302: 2297: 2292: 2287: 2282: 2276: 2274: 2268: 2267: 2265: 2264: 2259: 2254: 2249: 2247:Protected mode 2243: 2241: 2235: 2234: 2232: 2231: 2226: 2221: 2216: 2210: 2208: 2206:Virtual memory 2202: 2201: 2199: 2198: 2192: 2186: 2179: 2177: 2173: 2172: 2170: 2169: 2163: 2160: 2159: 2154: 2152: 2151: 2144: 2137: 2129: 2123: 2122: 2116: 2111: 2106: 2101: 2095: 2089: 2083: 2077: 2069: 2068:External links 2066: 2064: 2063: 2034: 2009: 2000: 1974: 1948: 1929: 1922:. 2014-02-16. 1911: 1892: 1873: 1862: 1842: 1823: 1807:kerneltrap.org 1793: 1779: 1754: 1729: 1700: 1689:Opensource.com 1675: 1661:. 2006-11-01. 1642: 1608: 1585: 1562: 1553:Atlas Computer 1540: 1537:on 2012-07-28. 1522: 1507: 1487: 1468: 1445: 1427: 1416: 1396: 1385: 1365: 1354: 1333: 1331: 1328: 1325: 1324: 1315: 1302: 1293: 1280: 1256: 1234: 1233: 1231: 1228: 1226: 1225: 1222:Virtual memory 1219: 1213: 1208: 1203: 1197: 1192: 1187: 1182: 1177: 1171: 1165: 1163: 1160: 1156: 1155: 1152: 1137: 1133: 1109: 1106: 1077: 1074: 1073: 1072: 1069: 1066: 1050: 1047: 1041: 1038: 1032: 1029: 1009: 1008: 989: 981: 974: 943: 940: 924: 921: 913: 910: 886: 883: 854:runtime memory 838: 835: 825: 822: 794: 791: 770: 767: 737: 736: 717: 715: 708: 702: 699: 682: 679: 648:root directory 623: 620: 618: 615: 590: 589:Ferranti Atlas 587: 585: 582: 554: 551: 511:Main article: 508: 505: 495: 492: 482: 479: 474:Main article: 471: 468: 440: 437: 422:Main article: 419: 416: 414: 411: 387: 386: 379: 372: 371: 370: 367: 364: 358: 339:Main article: 336: 333: 204: 201: 144:virtual memory 120:systems) is a 97: 96: 70: 68: 61: 43:Bank switching 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 3114: 3103: 3100: 3098: 3095: 3094: 3092: 3077: 3074: 3070: 3067: 3065: 3062: 3061: 3060: 3057: 3055: 3052: 3050: 3047: 3045: 3042: 3040: 3037: 3035: 3032: 3031: 3029: 3025: 3019: 3016: 3014: 3011: 3009: 3006: 3004: 3001: 2999: 2996: 2994: 2991: 2989: 2986: 2984: 2981: 2979: 2976: 2975: 2973: 2971: 2966: 2962: 2956: 2953: 2951: 2948: 2946: 2943: 2941: 2938: 2936: 2935:Memory paging 2933: 2931: 2928: 2926: 2923: 2922: 2920: 2917: 2912: 2908: 2898: 2895: 2893: 2890: 2888: 2885: 2883: 2880: 2879: 2877: 2875: 2869: 2863: 2860: 2858: 2855: 2853: 2850: 2848: 2845: 2843: 2840: 2838: 2835: 2833: 2830: 2828: 2825: 2822: 2818: 2814: 2811: 2810: 2808: 2804: 2801: 2799: 2795: 2785: 2782: 2780: 2777: 2775: 2774:Device driver 2772: 2771: 2769: 2765: 2759: 2756: 2754: 2751: 2749: 2746: 2744: 2741: 2739: 2736: 2734: 2731: 2729: 2726: 2724: 2721: 2720: 2718: 2716: 2715:Architectures 2712: 2709: 2707: 2703: 2697: 2694: 2692: 2689: 2687: 2684: 2682: 2679: 2677: 2674: 2672: 2669: 2667: 2664: 2662: 2659: 2657: 2654: 2652: 2649: 2648: 2646: 2642: 2636: 2633: 2631: 2628: 2626: 2623: 2621: 2618: 2616: 2613: 2611: 2608: 2606: 2603: 2602: 2600: 2596: 2592: 2585: 2580: 2578: 2573: 2571: 2566: 2565: 2562: 2550: 2542: 2540: 2532: 2530: 2522: 2520: 2512: 2510: 2502: 2501: 2498: 2492: 2489: 2487: 2484: 2482: 2479: 2478: 2476: 2472: 2466: 2463: 2461: 2458: 2456: 2455:Fragmentation 2453: 2452: 2450: 2446: 2440: 2437: 2435: 2432: 2430: 2427: 2425: 2422: 2421: 2419: 2417: 2416:Memory safety 2413: 2407: 2404: 2402: 2399: 2397: 2394: 2392: 2389: 2387: 2384: 2382: 2379: 2377: 2374: 2372: 2369: 2367: 2364: 2362: 2359: 2357: 2354: 2352: 2349: 2348: 2346: 2344: 2340: 2334: 2331: 2329: 2326: 2324: 2321: 2320: 2318: 2316: 2312: 2306: 2303: 2301: 2298: 2296: 2293: 2291: 2288: 2286: 2283: 2281: 2278: 2277: 2275: 2273: 2269: 2263: 2260: 2258: 2255: 2253: 2250: 2248: 2245: 2244: 2242: 2240: 2236: 2230: 2227: 2225: 2222: 2220: 2219:Memory paging 2217: 2215: 2214:Demand paging 2212: 2211: 2209: 2207: 2203: 2196: 2193: 2190: 2187: 2184: 2181: 2180: 2178: 2174: 2168: 2165: 2164: 2161: 2157: 2150: 2145: 2143: 2138: 2136: 2131: 2130: 2127: 2120: 2117: 2115: 2112: 2110: 2107: 2105: 2102: 2099: 2096: 2093: 2090: 2087: 2084: 2081: 2078: 2075: 2072: 2071: 2067: 2052: 2048: 2045:Bill Buzbee. 2041: 2039: 2035: 2023: 2019: 2013: 2010: 2004: 2001: 1989: 1985: 1978: 1975: 1963: 1959: 1952: 1949: 1944: 1940: 1933: 1930: 1925: 1921: 1915: 1912: 1907: 1903: 1896: 1893: 1888: 1884: 1877: 1874: 1869: 1865: 1859: 1855: 1854: 1846: 1843: 1838: 1834: 1827: 1824: 1813:on 2013-05-24 1812: 1808: 1804: 1797: 1794: 1789: 1783: 1780: 1768: 1764: 1758: 1755: 1743: 1739: 1733: 1730: 1718: 1714: 1713:Linux.Die.net 1710: 1704: 1701: 1690: 1686: 1679: 1676: 1664: 1660: 1656: 1652: 1646: 1643: 1631: 1627: 1623: 1619: 1612: 1609: 1604: 1600: 1596: 1589: 1586: 1581: 1577: 1573: 1566: 1563: 1558: 1554: 1550: 1544: 1541: 1536: 1532: 1526: 1523: 1518: 1511: 1508: 1504:. 2005-09-27. 1503: 1502: 1497: 1491: 1488: 1480: 1479: 1472: 1469: 1464: 1460: 1456: 1449: 1446: 1441: 1437: 1431: 1428: 1423: 1419: 1417:0-8247-2214-0 1413: 1409: 1408: 1400: 1397: 1392: 1388: 1386:0-86720-474-5 1382: 1378: 1377: 1369: 1366: 1361: 1357: 1355:0-8247-2261-2 1351: 1347: 1346: 1338: 1335: 1329: 1319: 1316: 1312: 1309:For example, 1306: 1303: 1297: 1294: 1290: 1284: 1281: 1278: 1274: 1270: 1266: 1260: 1257: 1253: 1249: 1245: 1239: 1236: 1229: 1223: 1220: 1217: 1214: 1212: 1209: 1207: 1204: 1201: 1198: 1196: 1193: 1191: 1188: 1186: 1183: 1181: 1178: 1175: 1174:Demand paging 1172: 1170: 1167: 1166: 1161: 1159: 1153: 1150: 1146: 1142: 1138: 1134: 1131: 1127: 1126: 1125: 1123: 1119: 1115: 1107: 1105: 1101: 1097: 1095: 1091: 1087: 1083: 1075: 1070: 1067: 1064: 1060: 1056: 1055: 1054: 1048: 1046: 1039: 1037: 1030: 1028: 1026: 1022: 1018: 1014: 1006: 1002: 998: 994: 990: 987: 982: 975: 972: 967: 964:/proc/sys/vm/ 961: 960: 959: 957: 953: 949: 941: 939: 937: 933: 929: 922: 920: 918: 911: 909: 907: 902: 900: 895: 893: 884: 882: 879: 875: 867: 866:default value 863: 859: 855: 851: 847: 843: 836: 834: 832: 823: 821: 819: 815: 808: 804: 800: 792: 790: 788: 784: 779: 775: 768: 766: 763: 762:Defragmenting 759: 755: 751: 747: 744: 733: 721: 716: 707: 706: 701:Fragmentation 700: 698: 696: 688: 680: 678: 675: 671: 667: 663: 661: 660:error message 657: 653: 652:Control Panel 649: 637: 633: 629: 621: 616: 614: 612: 608: 604: 600: 596: 588: 583: 581: 578: 576: 575:copy-on-write 570: 568: 564: 560: 552: 550: 546: 543: 538: 536: 532: 528: 522: 520: 514: 506: 504: 502: 493: 491: 489: 480: 477: 469: 467: 464: 462: 458: 452: 448: 446: 445:demand paging 438: 436: 434: 432: 425: 424:Demand paging 418:Demand paging 417: 412: 410: 408: 404: 400: 395: 392: 384: 380: 377: 373: 368: 365: 362: 361: 359: 356: 355: 354: 352: 348: 342: 334: 332: 330: 326: 323:or in-memory 322: 317: 315: 311: 307: 303: 299: 295: 291: 287: 283: 279: 275: 271: 267: 263: 259: 255: 251: 247: 243: 239: 237: 236:fragmentation 233: 229: 225: 220: 218: 214: 210: 202: 200: 198: 194: 191: 187: 183: 179: 175: 171: 166: 164: 160: 156: 152: 147: 145: 141: 140: 135: 131: 127: 123: 119: 115: 111: 110:memory paging 107: 104: 93: 83: 78: 74: 71:This article 69: 60: 59: 55: 51: 44: 37: 33: 19: 2970:file systems 2934: 2862:Time-sharing 2218: 2055:. Retrieved 2026:. Retrieved 2012: 2003: 1992:. Retrieved 1977: 1966:. Retrieved 1951: 1932: 1914: 1895: 1876: 1852: 1845: 1826: 1815:. Retrieved 1811:the original 1806: 1796: 1782: 1771:. Retrieved 1757: 1746:. Retrieved 1732: 1721:. Retrieved 1712: 1703: 1692:. Retrieved 1688: 1678: 1667:. Retrieved 1655:Sysinternals 1654: 1645: 1634:. Retrieved 1621: 1611: 1594: 1588: 1575: 1565: 1552: 1543: 1535:the original 1525: 1516: 1510: 1499: 1490: 1477: 1471: 1454: 1448: 1430: 1406: 1399: 1375: 1368: 1344: 1337: 1318: 1305: 1296: 1283: 1259: 1238: 1157: 1111: 1102: 1098: 1092:and without 1081: 1079: 1052: 1043: 1034: 1010: 950:slower than 945: 926: 915: 903: 896: 891: 888: 850:swapping out 846:Linux kernel 841: 840: 827: 810: 787:scratch disk 782: 772: 760: 756: 752: 748: 740: 727: 719: 691:pagefile.sys 684: 664: 640:386SPART.PAR 625: 592: 579: 571: 556: 547: 539: 523: 516: 497: 494:Pre-cleaning 487: 484: 465: 453: 449: 442: 435: 427: 396: 388: 344: 318: 296:(1967), the 288:(1967), the 240: 221: 216: 212: 206: 170:memory model 167: 148: 137: 113: 109: 100: 87: 79:for details. 72: 2988:Device file 2978:Boot loader 2892:Round-robin 2817:Cooperative 2753:Rump kernel 2743:Multikernel 2733:Microkernel 2630:Usage share 2460:Memory leak 1531:"The Atlas" 1246:, and then 1059:address bus 942:Performance 936:AmigaOS 4.1 814:round-robin 656:blue screen 636:hidden file 632:Windows 3.0 519:working set 407:working set 383:instruction 374:Update the 335:Page faults 325:page tables 308:with added 258:IBM M44/44X 159:drum memory 130:main memory 128:for use in 75:. See the 3091:Categories 2918:protection 2874:algorithms 2872:Scheduling 2821:Preemptive 2767:Components 2738:Monolithic 2605:Comparison 2224:Page table 2100:(outdated) 2057:2013-12-09 2028:2010-10-28 1994:2011-01-08 1968:2008-07-23 1817:2018-01-03 1773:2010-10-28 1748:2010-10-28 1723:2014-09-08 1694:2021-12-08 1669:2010-12-20 1636:2008-07-22 1436:Kilburn, T 1330:References 1242:Initially 1211:Page table 1200:Page cache 1130:page cache 1063:i386SX CPU 1001:ReadyBoost 971:page cache 966:swappiness 892:swap death 885:Swap death 862:page cache 842:Swappiness 837:Swappiness 797:See also: 743:fragmented 689:family is 687:Windows NT 681:Windows NT 674:Windows Me 670:Windows 98 666:Windows 95 644:WIN386.SWP 567:page table 563:multi-user 376:page table 351:page fault 347:page frame 341:Page fault 248:, and the 232:contiguous 213:swapped in 48:See also: 3008:Partition 2925:Bus error 2852:Real-time 2832:Interrupt 2758:Unikernel 2723:Exokernel 2371:Finalizer 2252:Real mode 1900:Red Hat. 1659:Microsoft 1626:Microsoft 1149:RAM drive 1013:Unix-like 923:AmigaOS 4 778:Unix-like 730:July 2014 527:thrashing 507:Thrashing 290:RCA 70/46 217:rolled in 176:(MMU) or 118:Unix-like 90:June 2019 77:talk page 3054:Live USB 2916:resource 2806:Concepts 2644:Variants 2625:Timeline 2305:ptmalloc 2300:mimalloc 2290:jemalloc 2280:dlmalloc 2176:Hardware 2051:Archived 2022:Archived 1988:Archived 1962:Archived 1943:Archived 1924:Archived 1906:Archived 1887:Archived 1868:Archived 1837:Archived 1767:Archived 1765:. LKML. 1742:Archived 1717:Archived 1663:Archived 1630:Archived 1580:Archived 1557:Archived 1422:Archived 1391:Archived 1360:Archived 1162:See also 997:volatile 906:X server 599:Ferranti 561:or in a 292:and the 272:and the 264:and the 242:Ferranti 224:overlays 116:on some 114:swapping 103:computer 3049:Live CD 3003:Journal 2967:access, 2965:Storage 2842:Process 2748:vkernel 2615:History 2598:General 2376:Garbage 2295:libumem 2197:(IOMMU) 1265:Multics 1136:memory. 1025:Solaris 720:updated 607:Plessey 553:Sharing 302:Multics 282:TSS/360 262:SDS 940 209:segment 203:History 136:called 2857:Thread 2728:Hybrid 2706:Kernel 2448:Issues 2119:SwapFs 1860:  1414:  1383:  1352:  1277:VM/370 1273:OS/VS2 1269:OS/VS1 1263:E.g., 1114:PDP-11 1023:, and 818:RAID 0 805:, and 638:named 630:since 601:, the 306:PDP-10 298:GE 645 286:CP/CMS 186:kernel 134:blocks 18:Paging 3059:Shell 2998:Inode 2474:Other 2285:Hoard 2191:(TLB) 2185:(MMU) 1482:(PDF) 1287:E.g., 1244:drums 1230:Notes 1145:tmpfs 1021:Linux 1011:Many 956:delay 917:macOS 912:macOS 858:pages 844:is a 803:zswap 793:Linux 595:Atlas 531:cache 314:TENEX 274:CP-40 246:Atlas 139:pages 32:pager 2620:List 1858:ISBN 1412:ISBN 1381:ISBN 1350:ISBN 1289:z/OS 1250:and 1057:The 1003:and 878:SSDs 874:HDDs 807:zram 774:Unix 672:and 605:and 501:sync 300:and 284:and 215:(or 112:(or 52:and 36:Page 3076:PXE 3064:CLI 3044:HAL 3034:API 2837:IPC 1599:doi 1459:doi 1311:MVS 1118:x86 1086:x86 1017:AIX 952:RAM 868:is 852:of 642:or 557:In 542:VAX 310:BBN 244:'s 190:x86 184:'s 161:or 101:In 3093:: 2819:, 2049:. 2037:^ 1941:. 1904:. 1885:. 1866:. 1835:. 1805:. 1715:. 1711:. 1687:. 1657:. 1653:. 1628:. 1624:. 1620:. 1574:. 1551:. 1498:. 1420:. 1389:. 1358:. 1275:, 1271:, 1267:, 1090:GB 1019:, 901:. 894:. 870:60 801:, 668:, 521:. 238:. 199:. 157:, 108:, 2913:, 2823:) 2815:( 2583:e 2576:t 2569:v 2148:e 2141:t 2134:v 2060:. 2031:. 1997:. 1971:. 1820:. 1790:. 1776:. 1751:. 1726:. 1697:. 1672:. 1639:. 1605:. 1601:: 1465:. 1461:: 1442:. 1291:. 1082:n 988:. 973:. 732:) 728:( 722:. 92:) 88:( 45:. 38:. 20:)

Index

Paging
pager
Page
Bank switching
Page (computer memory)
Virtual memory § Paged virtual memory
talk page
WikiProject Computing
computer
operating systems
Unix-like
memory management
secondary storage
main memory
blocks
pages
virtual memory
random-access memory
hard disk drive
drum memory
solid-state drive
memory model
Memory Management Unit
Memory Protection Unit
operating system
kernel
x86
instruction set architecture
control register
segment

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

↑