CINXE.COM
Memory paging - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Memory paging - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"fcfff3b8-8e96-400d-a8b0-2b571fa9aa5a","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Memory_paging","wgTitle":"Memory paging","wgCurRevisionId":1242335562,"wgRevisionId":1242335562,"wgArticleId":311193,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["CS1: long volume value","Articles with short description","Short description is different from Wikidata","Articles needing expert attention from June 2019","All articles needing expert attention","Computing articles needing expert attention","Use dmy dates from March 2020","All articles with unsourced statements","Articles with unsourced statements from September 2021","Wikipedia articles in need of updating from July 2014","All Wikipedia articles in need of updating", "Articles with unsourced statements from December 2016","Articles with unsourced statements from September 2010","Memory management","Virtual memory"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Memory_paging","wgRelevantArticleId":311193,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":40000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true, "wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q656083","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"} ;RLPAGEMODULES=["ext.cite.ux-enhancements","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Memory paging - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Memory_paging"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Memory_paging&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Memory_paging"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Memory_paging rootpage-Memory_paging skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Memory+paging" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Memory+paging" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Memory+paging" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Memory+paging" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Page_faults" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Page_faults"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Page faults</span> </div> </a> <ul id="toc-Page_faults-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Page_fetching_techniques" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Page_fetching_techniques"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Page fetching techniques</span> </div> </a> <button aria-controls="toc-Page_fetching_techniques-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Page fetching techniques subsection</span> </button> <ul id="toc-Page_fetching_techniques-sublist" class="vector-toc-list"> <li id="toc-Demand_paging" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Demand_paging"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Demand paging</span> </div> </a> <ul id="toc-Demand_paging-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Anticipatory_paging" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Anticipatory_paging"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Anticipatory paging</span> </div> </a> <ul id="toc-Anticipatory_paging-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Page_replacement_techniques" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Page_replacement_techniques"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Page replacement techniques</span> </div> </a> <button aria-controls="toc-Page_replacement_techniques-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Page replacement techniques subsection</span> </button> <ul id="toc-Page_replacement_techniques-sublist" class="vector-toc-list"> <li id="toc-Free_page_queue,_stealing,_and_reclamation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Free_page_queue,_stealing,_and_reclamation"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Free page queue, stealing, and reclamation</span> </div> </a> <ul id="toc-Free_page_queue,_stealing,_and_reclamation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Pre-cleaning" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Pre-cleaning"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>Pre-cleaning</span> </div> </a> <ul id="toc-Pre-cleaning-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Thrashing" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Thrashing"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Thrashing</span> </div> </a> <ul id="toc-Thrashing-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Sharing" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Sharing"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Sharing</span> </div> </a> <ul id="toc-Sharing-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Implementations" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Implementations"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Implementations</span> </div> </a> <button aria-controls="toc-Implementations-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Implementations subsection</span> </button> <ul id="toc-Implementations-sublist" class="vector-toc-list"> <li id="toc-Ferranti_Atlas" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Ferranti_Atlas"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.1</span> <span>Ferranti Atlas</span> </div> </a> <ul id="toc-Ferranti_Atlas-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Microsoft_Windows" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Microsoft_Windows"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.2</span> <span>Microsoft Windows</span> </div> </a> <ul id="toc-Microsoft_Windows-sublist" class="vector-toc-list"> <li id="toc-Windows_3.x_and_Windows_9x" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Windows_3.x_and_Windows_9x"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.2.1</span> <span>Windows 3.x and Windows 9x</span> </div> </a> <ul id="toc-Windows_3.x_and_Windows_9x-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Windows_NT" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Windows_NT"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.2.2</span> <span>Windows NT</span> </div> </a> <ul id="toc-Windows_NT-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Fragmentation" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Fragmentation"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.2.3</span> <span>Fragmentation</span> </div> </a> <ul id="toc-Fragmentation-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Unix_and_Unix-like_systems" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Unix_and_Unix-like_systems"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.3</span> <span>Unix and Unix-like systems</span> </div> </a> <ul id="toc-Unix_and_Unix-like_systems-sublist" class="vector-toc-list"> <li id="toc-Linux" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Linux"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.3.1</span> <span>Linux</span> </div> </a> <ul id="toc-Linux-sublist" class="vector-toc-list"> <li id="toc-Swap_files_and_partitions" class="vector-toc-list-item vector-toc-level-4"> <a class="vector-toc-link" href="#Swap_files_and_partitions"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.3.1.1</span> <span>Swap files and partitions</span> </div> </a> <ul id="toc-Swap_files_and_partitions-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Swappiness" class="vector-toc-list-item vector-toc-level-4"> <a class="vector-toc-link" href="#Swappiness"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.3.1.2</span> <span>Swappiness</span> </div> </a> <ul id="toc-Swappiness-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Swap_death" class="vector-toc-list-item vector-toc-level-4"> <a class="vector-toc-link" href="#Swap_death"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.3.1.3</span> <span>Swap death</span> </div> </a> <ul id="toc-Swap_death-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-macOS" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#macOS"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.3.2</span> <span>macOS</span> </div> </a> <ul id="toc-macOS-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-AmigaOS_4" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#AmigaOS_4"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.4</span> <span>AmigaOS 4</span> </div> </a> <ul id="toc-AmigaOS_4-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Performance" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Performance"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Performance</span> </div> </a> <button aria-controls="toc-Performance-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Performance subsection</span> </button> <ul id="toc-Performance-sublist" class="vector-toc-list"> <li id="toc-Swap_space_size" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Swap_space_size"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1</span> <span>Swap space size</span> </div> </a> <ul id="toc-Swap_space_size-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Physical_and_virtual_address_space_sizes" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Physical_and_virtual_address_space_sizes"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Physical and virtual address space sizes</span> </div> </a> <button aria-controls="toc-Physical_and_virtual_address_space_sizes-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Physical and virtual address space sizes subsection</span> </button> <ul id="toc-Physical_and_virtual_address_space_sizes-sublist" class="vector-toc-list"> <li id="toc-Main_memory_smaller_than_virtual_memory" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Main_memory_smaller_than_virtual_memory"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.1</span> <span>Main memory smaller than virtual memory</span> </div> </a> <ul id="toc-Main_memory_smaller_than_virtual_memory-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Main_memory_the_same_size_as_virtual_memory" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Main_memory_the_same_size_as_virtual_memory"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.2</span> <span>Main memory the same size as virtual memory</span> </div> </a> <ul id="toc-Main_memory_the_same_size_as_virtual_memory-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Main_memory_larger_than_virtual_address_space" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Main_memory_larger_than_virtual_address_space"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.3</span> <span>Main memory larger than virtual address space</span> </div> </a> <ul id="toc-Main_memory_larger_than_virtual_address_space-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notes" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>Notes</span> </div> </a> <ul id="toc-Notes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">13</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Memory paging</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 32 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-32" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">32 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%AA%D8%B5%D8%AD%D9%8A%D9%81_(%D8%AD%D8%A7%D8%B3%D9%88%D8%A8)" title="تصحيف (حاسوب) – Arabic" lang="ar" hreflang="ar" data-title="تصحيف (حاسوب)" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%9F%D0%B5%D0%B9%D0%B4%D0%B6%D0%B8%D0%BD%D0%B3_(%D0%BF%D0%B0%D0%BC%D0%B5%D1%82)" title="Пейджинг (памет) – Bulgarian" lang="bg" hreflang="bg" data-title="Пейджинг (памет)" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Paginaci%C3%B3_de_mem%C3%B2ria" title="Paginació de memòria – Catalan" lang="ca" hreflang="ca" data-title="Paginació de memòria" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Str%C3%A1nkov%C3%A1n%C3%AD_pam%C4%9Bti" title="Stránkování paměti – Czech" lang="cs" hreflang="cs" data-title="Stránkování paměti" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Paging" title="Paging – German" lang="de" hreflang="de" data-title="Paging" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Lehek%C3%BClgede_saalimine" title="Lehekülgede saalimine – Estonian" lang="et" hreflang="et" data-title="Lehekülgede saalimine" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Paginaci%C3%B3n_de_memoria" title="Paginación de memoria – Spanish" lang="es" hreflang="es" data-title="Paginación de memoria" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Orrikatze" title="Orrikatze – Basque" lang="eu" hreflang="eu" data-title="Orrikatze" data-language-autonym="Euskara" data-language-local-name="Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%B5%D9%81%D8%AD%D9%87%E2%80%8C%D8%A8%D9%86%D8%AF%DB%8C_(%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87)" title="صفحهبندی (رایانه) – Persian" lang="fa" hreflang="fa" data-title="صفحهبندی (رایانه)" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%ED%8E%98%EC%9D%B4%EC%A7%95" title="페이징 – Korean" lang="ko" hreflang="ko" data-title="페이징" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Strani%C4%8Dna_datoteka" title="Stranična datoteka – Croatian" lang="hr" hreflang="hr" data-title="Stranična datoteka" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Paginazione" title="Paginazione – Italian" lang="it" hreflang="it" data-title="Paginazione" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%93%D7%A4%D7%93%D7%95%D7%A3_(%D7%96%D7%99%D7%9B%D7%A8%D7%95%D7%9F)" title="דפדוף (זיכרון) – Hebrew" lang="he" hreflang="he" data-title="דפדוף (זיכרון)" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Puslapiavimas" title="Puslapiavimas – Lithuanian" lang="lt" hreflang="lt" data-title="Puslapiavimas" data-language-autonym="Lietuvių" data-language-local-name="Lithuanian" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Lapoz%C3%A1s_(informatika)" title="Lapozás (informatika) – Hungarian" lang="hu" hreflang="hu" data-title="Lapozás (informatika)" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Penghalaman" title="Penghalaman – Malay" lang="ms" hreflang="ms" data-title="Penghalaman" data-language-autonym="Bahasa Melayu" data-language-local-name="Malay" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/%D0%A5%D1%83%D1%83%D0%B4%D0%B0%D1%81%D0%BB%D0%B0%D0%BB%D1%82" title="Хуудаслалт – Mongolian" lang="mn" hreflang="mn" data-title="Хуудаслалт" data-language-autonym="Монгол" data-language-local-name="Mongolian" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Geheugenpaginering" title="Geheugenpaginering – Dutch" lang="nl" hreflang="nl" data-title="Geheugenpaginering" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%B3%E3%82%B0%E6%96%B9%E5%BC%8F" title="ページング方式 – Japanese" lang="ja" hreflang="ja" data-title="ページング方式" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Sideveksling" title="Sideveksling – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Sideveksling" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Stronicowanie_pami%C4%99ci" title="Stronicowanie pamięci – Polish" lang="pl" hreflang="pl" data-title="Stronicowanie pamięci" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Pagina%C3%A7%C3%A3o_de_mem%C3%B3ria" title="Paginação de memória – Portuguese" lang="pt" hreflang="pt" data-title="Paginação de memória" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B4%D0%BA%D0%B0%D1%87%D0%BA%D0%B0_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86" title="Подкачка страниц – Russian" lang="ru" hreflang="ru" data-title="Подкачка страниц" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Paging" title="Paging – Simple English" lang="en-simple" hreflang="en-simple" data-title="Paging" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Str%C3%A1nkovanie" title="Stránkovanie – Slovak" lang="sk" hreflang="sk" data-title="Stránkovanie" data-language-autonym="Slovenčina" data-language-local-name="Slovak" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Ostranjevanje" title="Ostranjevanje – Slovenian" lang="sl" hreflang="sl" data-title="Ostranjevanje" data-language-autonym="Slovenščina" data-language-local-name="Slovenian" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%BD%D0%B0_%D0%B4%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0" title="Странична датотека – Serbian" lang="sr" hreflang="sr" data-title="Странична датотека" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Sivutus" title="Sivutus – Finnish" lang="fi" hreflang="fi" data-title="Sivutus" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Paging" title="Paging – Swedish" lang="sv" hreflang="sv" data-title="Paging" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Sayfalama" title="Sayfalama – Turkish" lang="tr" hreflang="tr" data-title="Sayfalama" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9F%D1%96%D0%B4%D0%BA%D0%B0%D1%87%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F_%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BE%D0%BA" title="Підкачування сторінок – Ukrainian" lang="uk" hreflang="uk" data-title="Підкачування сторінок" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E5%88%86%E9%A0%81" title="分頁 – Chinese" lang="zh" hreflang="zh" data-title="分頁" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q656083#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Memory_paging" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Memory_paging" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Memory_paging"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Memory_paging&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Memory_paging&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Memory_paging"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Memory_paging&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Memory_paging&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Memory_paging" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Memory_paging" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Memory_paging&oldid=1242335562" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Memory_paging&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Memory_paging&id=1242335562&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FMemory_paging"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FMemory_paging"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Memory_paging&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Memory_paging&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q656083" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Computer memory management scheme</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">"Paging" redirects here. For paging as a form of telecommunications, see <a href="/wiki/Pager" title="Pager">pager</a>. For other uses, see <a href="/wiki/Page_(disambiguation)" class="mw-redirect mw-disambig" title="Page (disambiguation)">Page</a>.</div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Not to be confused with <a href="/wiki/Bank_switching" title="Bank switching">Bank switching</a>.</div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Page_(computer_memory)" title="Page (computer memory)">Page (computer memory)</a> and <a href="/wiki/Virtual_memory#Paged_virtual_memory" title="Virtual memory">Virtual memory § Paged virtual memory</a></div> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-Expert_needed plainlinks metadata ambox ambox-content" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/40px-Ambox_important.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/80px-Ambox_important.svg.png 2x" data-file-width="40" data-file-height="40" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article <b>needs attention from an expert in computing</b>. See the <a href="/wiki/Talk:Memory_paging#Apples_&_Oranges" title="Talk:Memory paging">talk page</a> for details.<span class="hide-when-compact"> <a href="/wiki/Wikipedia:WikiProject_Computing" title="Wikipedia:WikiProject Computing">WikiProject Computing</a> may be able to help recruit an expert.</span> <span class="date-container"><i>(<span class="date">June 2019</span>)</i></span></div></td></tr></tbody></table> <p> In <a href="/wiki/Computer" title="Computer">computer</a> <a href="/wiki/Operating_system" title="Operating system">operating systems</a>, <b>memory paging</b> (or <b>swapping</b> on some <a href="/wiki/Unix-like" title="Unix-like">Unix-like</a> systems) is a <a href="/wiki/Memory_management" title="Memory management">memory management</a> scheme by which a computer stores and retrieves data from <a href="/wiki/Computer_data_storage#Secondary_storage" title="Computer data storage">secondary storage</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>a<span class="cite-bracket">]</span></a></sup> for use in <a href="/wiki/Computer_data_storage#Primary_storage" title="Computer data storage">main memory</a>.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (September 2021)">citation needed</span></a></i>]</sup> In this scheme, the operating system retrieves data from secondary storage in same-size <a href="/wiki/Block_(data_storage)" title="Block (data storage)">blocks</a> called <i><a href="/wiki/Page_(computer_memory)" title="Page (computer memory)">pages</a></i>. Paging is an important part of <a href="/wiki/Virtual_memory" title="Virtual memory">virtual memory</a> implementations in modern operating systems, using secondary storage to let programs exceed the size of available physical memory. </p><p>For simplicity, main memory is called "RAM" (an acronym of <a href="/wiki/Random-access_memory" title="Random-access memory">random-access memory</a>) and secondary storage is called "disk" (a shorthand for <a href="/wiki/Hard_disk_drive" title="Hard disk drive">hard disk drive</a>, <a href="/wiki/Drum_memory" title="Drum memory">drum memory</a> or <a href="/wiki/Solid-state_drive" title="Solid-state drive">solid-state drive</a>, etc.), but as with many aspects of computing, the concepts are independent of the technology used. </p><p>Depending on the <a href="/wiki/Memory_model_(addressing_scheme)" class="mw-redirect" title="Memory model (addressing scheme)">memory model</a>, paged memory functionality is usually hardwired into a CPU/MCU by using a <a href="/wiki/Memory_Management_Unit" class="mw-redirect" title="Memory Management Unit">Memory Management Unit</a> (MMU) or <a href="/wiki/Memory_protection_unit" title="Memory protection unit">Memory Protection Unit</a> (MPU) and separately enabled by privileged system code in the <a href="/wiki/Operating_system" title="Operating system">operating system</a>'s <a href="/wiki/Kernel_(operating_system)" title="Kernel (operating system)">kernel</a>. In CPUs implementing the <a href="/wiki/X86" title="X86">x86</a> <a href="/wiki/Instruction_set_architecture" title="Instruction set architecture">instruction set architecture</a> (ISA) for instance, the memory paging is enabled via the CR0 <a href="/wiki/Control_register" title="Control register">control register</a>. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History"><span class="anchor" id="SWAP-SPACE"></span>History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=1" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In the 1960s, swapping was an early virtual memory technique. An entire program or entire <a href="/wiki/Memory_segmentation" title="Memory segmentation">segment</a> would be "swapped out" (or "rolled out") from RAM to disk or drum, and another one would be <i>swapped in</i> (or <i>rolled in</i>).<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> 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. </p><p>A program might include multiple <a href="/wiki/Overlay_(programming)" title="Overlay (programming)">overlays</a> 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 <a href="/wiki/Memory_segmentation" title="Memory segmentation">memory segmentation</a>, 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 <a href="/wiki/Contiguous_data_storage" class="mw-redirect" title="Contiguous data storage">contiguous</a> when resident in RAM, requiring additional computation and movement to remedy <a href="/wiki/Fragmentation_(computer)" class="mw-redirect" title="Fragmentation (computer)">fragmentation</a>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> </p><p><a href="/wiki/Ferranti" title="Ferranti">Ferranti</a>'s <a href="/wiki/Atlas_(computer)" title="Atlas (computer)">Atlas</a>, and the <a href="/wiki/Atlas_Supervisor" title="Atlas Supervisor">Atlas Supervisor</a> developed at the <a href="/wiki/University_of_Manchester" title="University of Manchester">University of Manchester</a>,<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> (1962), was the first system to implement memory paging. Subsequent early machines, and their operating systems, supporting paging include the <a href="/wiki/IBM_M44/44X" title="IBM M44/44X">IBM M44/44X</a> and its MOS operating system (1964),<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> the <a href="/wiki/SDS_940" title="SDS 940">SDS 940</a><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> and the <a href="/wiki/Berkeley_Timesharing_System" title="Berkeley Timesharing System">Berkeley Timesharing System</a> (1966), a modified <a href="/wiki/IBM_System/360_Model_40" title="IBM System/360 Model 40">IBM System/360 Model 40</a> and the <a href="/wiki/IBM_CP-40" title="IBM CP-40">CP-40</a> operating system (1967), the <a href="/wiki/IBM_System/360_Model_67" title="IBM System/360 Model 67">IBM System/360 Model 67</a> and operating systems such as <a href="/wiki/TSS/360" class="mw-redirect" title="TSS/360">TSS/360</a> and <a href="/wiki/CP/CMS" title="CP/CMS">CP/CMS</a> (1967), the <a href="/wiki/RCA_Spectra_70#Model_70/46" title="RCA Spectra 70">RCA 70/46</a> and the <a href="/wiki/Time_Sharing_Operating_System" title="Time Sharing Operating System">Time Sharing Operating System</a> (1967), the <a href="/wiki/GE_645" title="GE 645">GE 645</a> and <a href="/wiki/Multics" title="Multics">Multics</a> (1969), and the <a href="/wiki/PDP-10" title="PDP-10">PDP-10</a> with added <a href="/wiki/Raytheon_BBN" title="Raytheon BBN">BBN</a>-designed paging hardware and the <a href="/wiki/TENEX_(operating_system)" title="TENEX (operating system)">TENEX</a> operating system (1969). </p><p>Those machines, and subsequent machines supporting memory paging, use either a set of <a href="/wiki/Page_address_register" title="Page address register">page address registers</a> or in-memory <a href="/wiki/Page_table" title="Page table">page tables</a><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>d<span class="cite-bracket">]</span></a></sup> to allow the processor to operate on arbitrary pages anywhere in RAM as a seemingly contiguous <a href="/wiki/Logical_address" title="Logical address">logical address</a> space. These pages became the units exchanged between disk and RAM. </p> <div class="mw-heading mw-heading2"><h2 id="Page_faults">Page faults</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=2" title="Edit section: Page faults"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Page_fault" title="Page fault">Page fault</a></div> <p>When a process tries to reference a page not currently mapped to a <a href="/wiki/Page_frame" class="mw-redirect" title="Page frame">page frame</a> in RAM, the processor treats this invalid memory reference as a <a href="/wiki/Page_fault" title="Page fault">page fault</a> and transfers control from the program to the operating system. The operating system must: </p> <ol><li>Determine whether a stolen page frame still contains an unmodified copy of the page; if so, use that page frame.</li> <li>Otherwise, obtain an empty page frame in RAM to use as a container for the data, and: <ul><li>Determine whether the page was ever initialized</li> <li>If so determine the location of the data on disk.</li> <li>Load the required data into the available page frame.</li></ul></li> <li>Update the <a href="/wiki/Page_table" title="Page table">page table</a> to refer to the new page frame.</li> <li>Return control to the program, transparently retrying the <a href="/wiki/Instruction_(computer_science)" class="mw-redirect" title="Instruction (computer science)">instruction</a> that caused the page fault.</li></ol> <p>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 <a href="/wiki/Dynamic_allocation" class="mw-redirect" title="Dynamic allocation">dynamically allocated</a> 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. </p><p>The method the operating system uses to select the page frame to reuse, which is its <a href="/wiki/Page_replacement_algorithm" title="Page replacement algorithm">page replacement algorithm</a>, is important to efficiency. The operating system predicts the page frame least likely to be needed soon, often through the <a href="/wiki/Page_replacement_algorithm#Least_recently_used" title="Page replacement algorithm">least recently used</a> (LRU) algorithm or an algorithm based on the program's <a href="/wiki/Working_set" title="Working set">working set</a>. 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. </p> <div class="mw-heading mw-heading2"><h2 id="Page_fetching_techniques">Page fetching techniques</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=3" title="Edit section: Page fetching techniques"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Demand_paging">Demand paging</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=4" title="Edit section: Demand paging"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Demand_paging" title="Demand paging">Demand paging</a></div> <p>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., <a href="/wiki/Memory-mapped_file" title="Memory-mapped file">memory-mapped file</a>, paging file, or a swap partition containing the page data into RAM. </p><p><span class="anchor" id="Swap_prefetch"></span> </p> <div class="mw-heading mw-heading3"><h3 id="Anticipatory_paging">Anticipatory paging</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=5" title="Edit section: Anticipatory paging"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Some systems use only <a href="/wiki/Demand_paging" title="Demand paging">demand paging</a>—waiting until a page is actually requested before loading it into RAM. </p><p>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, and pre-writing them out to storage). </p><p>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 <a href="/wiki/Locality_of_reference" title="Locality of reference">locality of reference</a>); this is analogous to a <a href="/wiki/Prefetch_input_queue" title="Prefetch input queue">prefetch input queue</a> in a CPU. Swap prefetching will prefetch recently swapped-out pages if there are enough free pages for them.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> </p><p>If a program ends, the operating system may delay freeing its pages, in case the user runs the same program again. </p> <div class="mw-heading mw-heading2"><h2 id="Page_replacement_techniques">Page replacement techniques</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=6" title="Edit section: Page replacement techniques"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Page_replacement_algorithm" title="Page replacement algorithm">Page replacement algorithm</a></div> <div class="mw-heading mw-heading3"><h3 id="Free_page_queue,_stealing,_and_reclamation"><span id="Free_page_queue.2C_stealing.2C_and_reclamation"></span>Free page queue, stealing, and reclamation</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=7" title="Edit section: Free page queue, stealing, and reclamation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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 add it to the free page queue, a process known as "page stealing". Some operating systems<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>e<span class="cite-bracket">]</span></a></sup> support <i>page reclamation</i>; 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. </p> <div class="mw-heading mw-heading3"><h3 id="Pre-cleaning">Pre-cleaning</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=8" title="Edit section: Pre-cleaning"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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 responsiveness. (Unix operating systems periodically use <a href="/wiki/Sync_(Unix)" title="Sync (Unix)">sync</a> to pre-clean all dirty pages; Windows operating systems use "modified page writer" threads.) </p> <div class="mw-heading mw-heading2"><h2 id="Thrashing">Thrashing</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=9" title="Edit section: Thrashing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Thrashing_(computer_science)" title="Thrashing (computer science)">Thrashing (computer science)</a></div> <p>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 <a href="/wiki/Working_set" title="Working set">working set</a>. </p><p>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 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 <a href="/wiki/Thrashing_(computer_science)" title="Thrashing (computer science)">thrashing</a>. 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 <a href="/wiki/Cache_(computing)" title="Cache (computing)">cache</a> issues in computing or <a href="/wiki/Silly_window_syndrome" title="Silly window syndrome">silly window syndrome</a> in networking. </p><p>A worst case might occur on <a href="/wiki/VAX" title="VAX">VAX</a> 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 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. </p><p>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. </p> <div class="mw-heading mw-heading2"><h2 id="Sharing">Sharing</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=10" title="Edit section: Sharing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In <a href="/wiki/Multi-programming" class="mw-redirect" title="Multi-programming">multi-programming</a> or in a <a href="/wiki/Multi-user" class="mw-redirect" title="Multi-user">multi-user</a> 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 <a href="/wiki/Page_table" title="Page table">page table</a> 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. </p><p>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 library's code, they use <a href="/wiki/Copy-on-write" title="Copy-on-write">copy-on-write</a>, so memory is only allocated when needed. </p><p>Shared memory is an efficient means of communication between programs. Programs can share pages in memory, and then write and read to exchange data. </p> <div class="mw-heading mw-heading2"><h2 id="Implementations">Implementations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=11" title="Edit section: Implementations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Ferranti_Atlas">Ferranti Atlas</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=12" title="Edit section: Ferranti Atlas"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The first computer to support paging was the supercomputer <a href="/wiki/Atlas_Computer_(Manchester)" class="mw-redirect" title="Atlas Computer (Manchester)">Atlas</a>,<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> jointly developed by <a href="/wiki/Ferranti" title="Ferranti">Ferranti</a>, the <a href="/wiki/University_of_Manchester" title="University of Manchester">University of Manchester</a> and <a href="/wiki/Plessey" title="Plessey">Plessey</a> in 1963. The machine had an associative (<a href="/wiki/Content-addressable_memory" title="Content-addressable memory">content-addressable</a>) memory with one entry for each 512 word page. The Supervisor<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> handled non-equivalence interruptions<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>f<span class="cite-bracket">]</span></a></sup> and managed the transfer of pages between core and drum in order to provide a one-level store<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> to programs. </p> <div class="mw-heading mw-heading3"><h3 id="Microsoft_Windows">Microsoft Windows</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=13" title="Edit section: Microsoft Windows"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="Windows_3.x_and_Windows_9x">Windows 3.x and Windows 9x</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=14" title="Edit section: Windows 3.x and Windows 9x"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Paging has been a feature of <a href="/wiki/Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a> since <a href="/wiki/Windows_3.0" title="Windows 3.0">Windows 3.0</a> in 1990. Windows 3.x creates a <a href="/wiki/Hidden_file" class="mw-redirect" title="Hidden file">hidden file</a> named <code>386SPART.PAR</code> or <code>WIN386.SWP</code> for use as a swap file. It is generally found in the <a href="/wiki/Root_directory" title="Root directory">root directory</a>, 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 <a href="/wiki/Windows_Control_Panel" class="mw-redirect" title="Windows Control Panel">Control Panel</a> → Enhanced under "Virtual Memory"). If the user moves or deletes this file, a <a href="/wiki/Blue_Screen_of_Death" class="mw-redirect" title="Blue Screen of Death">blue screen</a> will appear the next time Windows is started, with the <a href="/wiki/Error_message" title="Error message">error message</a> "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). </p><p><a href="/wiki/Windows_95" title="Windows 95">Windows 95</a>, <a href="/wiki/Windows_98" title="Windows 98">Windows 98</a> and <a href="/wiki/Windows_Me" title="Windows Me">Windows Me</a> 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 applications on a system with low physical memory, it is preferable to manually set these sizes to a value higher than default. </p> <div class="mw-heading mw-heading4"><h4 id="Windows_NT"><span class="anchor" id="PAGEFILE-SYS"></span>Windows NT</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=15" title="Edit section: Windows NT"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The file used for paging in the <a href="/wiki/Windows_NT" title="Windows NT">Windows NT</a> family is <code>pagefile.sys</code>. 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 <a href="/wiki/Blue_Screen_of_Death" class="mw-redirect" title="Blue Screen of Death">Blue Screen of Death</a>. 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.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading4"><h4 id="Fragmentation">Fragmentation</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=16" title="Edit section: Fragmentation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1251242444"><table class="box-Update plainlinks metadata ambox ambox-content ambox-Update" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/53/Ambox_current_red_Americas.svg/42px-Ambox_current_red_Americas.svg.png" decoding="async" width="42" height="34" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/53/Ambox_current_red_Americas.svg/63px-Ambox_current_red_Americas.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/53/Ambox_current_red_Americas.svg/84px-Ambox_current_red_Americas.svg.png 2x" data-file-width="360" data-file-height="290" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This section needs to be <b>updated</b>.<span class="hide-when-compact"> Please help update this article to reflect recent events or newly available information.</span> <span class="date-container"><i>(<span class="date">July 2014</span>)</i></span></div></td></tr></tbody></table> <p>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 <a href="/wiki/File_system_fragmentation" title="File system fragmentation">fragmented</a> which can potentially cause performance problems.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> 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 physical memory.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (December 2016)">citation needed</span></a></i>]</sup> 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. </p><p>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. </p><p>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 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. </p><p>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 space). In both examples, the system uses about 0.8% of the disk space with the page file pre-extended to its maximum. </p><p><a href="/wiki/Defragment" class="mw-redirect" title="Defragment">Defragmenting</a> 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.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (September 2010)">citation needed</span></a></i>]</sup> This view ignores the fact that, aside from the temporary results of expansion, the page file does not become fragmented over time. In general, performance concerns related to page file access are much more effectively dealt with by adding more physical memory. </p> <div class="mw-heading mw-heading3"><h3 id="Unix_and_Unix-like_systems">Unix and Unix-like systems</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=17" title="Edit section: Unix and Unix-like systems"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Unix" title="Unix">Unix</a> systems, and other <a href="/wiki/Unix-like" title="Unix-like">Unix-like</a> operating systems, use the term "swap" to describe the act of substituting disk space for RAM when physical RAM is full.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> In some of those systems, it is common to dedicate an entire partition of a hard disk to swapping. These partitions are called <i>swap partitions</i>. 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 "<a href="/wiki/Scratch_disk" class="mw-redirect" title="Scratch disk">scratch disk</a>". Some of those systems only support swapping to a swap partition; others also support swapping to files. </p> <div class="mw-heading mw-heading4"><h4 id="Linux"><span class="anchor" id="LINUX"></span>Linux</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=18" title="Edit section: Linux"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Swap_partitions_on_SSDs" class="mw-redirect" title="Swap partitions on SSDs">Swap partitions on SSDs</a>, <a href="/wiki/Zswap" title="Zswap">zswap</a>, and <a href="/wiki/Zram" title="Zram">zram</a></div> <p>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 the same priority, they are used in a <a href="/wiki/Round-robin_scheduling" title="Round-robin scheduling">round-robin</a> fashion (which is somewhat similar to <a href="/wiki/RAID_0" class="mw-redirect" title="RAID 0">RAID 0</a> storage layouts), providing improved performance as long as the underlying devices can be efficiently accessed in parallel.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading5"><h5 id="Swap_files_and_partitions">Swap files and partitions</h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=19" title="Edit section: Swap files and partitions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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 where they are placed on underlying devices and accesses them directly, thus bypassing the cache and avoiding filesystem overhead.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> 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 <a href="/wiki/Logical_volume_management" title="Logical volume management">volume management</a> tools, which introduce various complexities and potential downtimes. </p> <div class="mw-heading mw-heading5"><h5 id="Swappiness">Swappiness</h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=20" title="Edit section: Swappiness"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><i>Swappiness</i> is a <a href="/wiki/Linux_kernel" title="Linux kernel">Linux kernel</a> parameter that controls the relative weight given to <a href="/wiki/Virtual_memory#Address_space_swapping" title="Virtual memory">swapping out</a> of <a href="/wiki/Memory_footprint" title="Memory footprint">runtime memory</a>, as opposed to dropping <a href="/wiki/Page_(computer_memory)" title="Page (computer memory)">pages</a> from the system <a href="/wiki/Page_cache" title="Page cache">page cache</a>, whenever a memory allocation request cannot be met from free memory. Swappiness can be set to a value from 0 to 200.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> 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 <a href="/wiki/Default_(computer_science)" title="Default (computer science)">default value</a> is <code>60</code>; 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 <a href="/wiki/Hard_disk_drive" title="Hard disk drive">HDDs</a> further because it involves a lot of random writes, while <a href="/wiki/Solid-state_drive" title="Solid-state drive">SSDs</a> 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.<sup id="cite_ref-kerneltrap_26-0" class="reference"><a href="#cite_note-kerneltrap-26"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading5"><h5 id="Swap_death">Swap death</h5><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=21" title="Edit section: Swap death"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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 <i>swap death</i>.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> </p><p>Swap death can happen due to incorrectly configured <a href="/wiki/Memory_overcommitment" title="Memory overcommitment">memory overcommitment</a>.<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> </p><p>The original description of the "swapping to death" problem relates to the <a href="/wiki/X_Window_System_protocols_and_architecture#Client–server_model_and_network_transparency" title="X Window System protocols and architecture">X server</a>. 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.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading4"><h4 id="macOS">macOS</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=22" title="Edit section: macOS"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/MacOS" title="MacOS">macOS</a> 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.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="AmigaOS_4">AmigaOS 4</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=23" title="Edit section: AmigaOS 4"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/AmigaOS_4.0" class="mw-redirect" title="AmigaOS 4.0">AmigaOS 4.0</a> 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 <a href="/wiki/Slab_allocation" title="Slab allocation">slab allocation method</a> and paging memory that allows swapping. Paging was implemented in <a href="/wiki/AmigaOS_4.1" class="mw-redirect" title="AmigaOS 4.1">AmigaOS 4.1</a> but may lock up system if all physical memory is used up.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> Swap memory could be activated and deactivated any moment allowing the user to choose to use only physical RAM. </p> <div class="mw-heading mw-heading2"><h2 id="Performance">Performance</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=24" title="Edit section: Performance"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The backing store for a virtual memory operating system is typically many <a href="/wiki/Order_of_magnitude" title="Order of magnitude">orders of magnitude</a> slower than <a href="/wiki/Random_access_memory" class="mw-redirect" title="Random access memory">RAM</a>. Additionally, using mechanical storage devices introduces <a href="/wiki/Access_time" title="Access time">delay</a>, 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. </p> <ul><li>Linux offers the <code>/proc/sys/vm/<a href="/wiki/Swappiness" class="mw-redirect" title="Swappiness">swappiness</a></code> parameter, which changes the balance between swapping out runtime memory, as opposed to dropping pages from the system <a href="/wiki/Page_cache" title="Page cache">page cache</a>.</li> <li>Windows 2000, XP, and Vista offer the <code>DisablePagingExecutive</code> registry setting, which controls whether kernel-mode code and data can be eligible for paging out.</li> <li>Mainframe computers frequently used head-per-track disk drives or drums for page and swap storage to eliminate seek time, and several technologies<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> to have multiple concurrent requests to the same device in order to reduce <a href="/wiki/Rotational_latency" class="mw-redirect" title="Rotational latency">rotational latency</a>.</li> <li>Flash memory has a finite number of erase-write cycles (see <a href="/wiki/Flash_memory#Limitations" title="Flash memory">limitations of flash memory</a>), and the smallest amount of data that can be erased at once might be very large (128 KiB for an Intel X25-M SSD <sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup>), 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 <a href="/wiki/Volatile_memory" title="Volatile memory">volatile</a> as RAM chips. Schemes like <a href="/wiki/ReadyBoost" title="ReadyBoost">ReadyBoost</a> and <a href="/wiki/Intel_Turbo_Memory" title="Intel Turbo Memory">Intel Turbo Memory</a> are made to exploit these characteristics.</li></ul> <p>Many <a href="/wiki/Unix-like" title="Unix-like">Unix-like</a> operating systems (for example <a href="/wiki/AIX" class="mw-redirect" title="AIX">AIX</a>, <a href="/wiki/Linux" title="Linux">Linux</a>, and <a href="/wiki/Solaris_(operating_system)" class="mw-redirect" title="Solaris (operating system)">Solaris</a>) allow using multiple storage devices for swap space in parallel, to increase performance. </p> <div class="mw-heading mw-heading3"><h3 id="Swap_space_size">Swap space size</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=25" title="Edit section: Swap space size"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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. </p> <div class="mw-heading mw-heading2"><h2 id="Physical_and_virtual_address_space_sizes">Physical and virtual address space sizes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=26" title="Edit section: Physical and virtual address space sizes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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. </p> <div class="mw-heading mw-heading3"><h3 id="Main_memory_smaller_than_virtual_memory">Main memory smaller than virtual memory</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=27" title="Edit section: Main memory smaller than virtual memory"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In most systems, the size of a process's virtual address space is much larger than the available main memory.<sup id="cite_ref-buzbee_37-0" class="reference"><a href="#cite_note-buzbee-37"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> For example: </p> <ul><li>The <a href="/wiki/Address_bus" class="mw-redirect" title="Address bus">address bus</a> that connects the CPU to main memory may be limited. The <a href="/wiki/Intel_80386#The_i386SX_variant" class="mw-redirect" title="Intel 80386">i386SX CPU</a>'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.</li> <li>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.</li> <li>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.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Main_memory_the_same_size_as_virtual_memory">Main memory the same size as virtual memory</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=28" title="Edit section: Main memory the same size as virtual memory"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A computer with true <i>n</i>-bit addressing may have 2<sup><i>n</i></sup> addressable units of RAM installed. An example is a 32-bit <a href="/wiki/X86" title="X86">x86</a> processor with 4 <a href="/wiki/Gigabyte" title="Gigabyte">GB</a> and without <a href="/wiki/Physical_Address_Extension" title="Physical Address Extension">Physical Address Extension</a> (PAE). In this case, the processor is able to address all the RAM installed and no more. </p><p>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 system makes efficient decisions on which memory to relegate to secondary storage, leading to the best use of the installed RAM. </p><p>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 can be mapped into the address space, and unmapped if another region needs to be mapped in. </p> <div class="mw-heading mw-heading3"><h3 id="Main_memory_larger_than_virtual_address_space">Main memory larger than virtual address space</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=29" title="Edit section: Main memory larger than virtual address space"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A few computers have a main memory larger than the virtual address space of a process, such as the Magic-1,<sup id="cite_ref-buzbee_37-1" class="reference"><a href="#cite_note-buzbee-37"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> some <a href="/wiki/PDP-11#Decline" title="PDP-11">PDP-11</a> machines, and some systems using 32-bit <a href="/wiki/X86" title="X86">x86</a> processors with <a href="/wiki/Physical_Address_Extension" title="Physical Address Extension">Physical Address Extension</a>. 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: </p> <ul><li>The "extra memory" can be used in the <a href="/wiki/Page_cache" title="Page cache">page cache</a> to cache frequently used files and metadata, such as directory information, from secondary storage.</li> <li>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 memory.</li> <li>A process can store data in <a href="/wiki/Memory-mapped_file" title="Memory-mapped file">memory-mapped files</a> on memory-backed file systems, such as the <a href="/wiki/Tmpfs" title="Tmpfs">tmpfs</a> file system or file systems on a <a href="/wiki/RAM_drive" title="RAM drive">RAM drive</a>, and map files into and out of the address space as needed.</li> <li>A set of processes may still depend upon the enhanced security features page-based isolation may bring to a multitasking environment.</li></ul> <p>The size of the cumulative total of virtual address spaces is still limited by the amount of secondary storage available. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=30" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1235681985">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><style data-mw-deduplicate="TemplateStyles:r1237033735">@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}</style><div class="side-box side-box-right plainlinks sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/38px-Wikisource-logo.svg.png" decoding="async" width="38" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/57px-Wikisource-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/76px-Wikisource-logo.svg.png 2x" data-file-width="410" data-file-height="430" /></span></span></div> <div class="side-box-text plainlist"><a href="/wiki/Wikisource" title="Wikisource">Wikisource</a> has original text related to this article: <div style="margin-left: 10px;"><b><a href="https://en.wikisource.org/wiki/The_Paging_Game" class="extiw" title="wikisource:The Paging Game">The Paging Game</a></b></div></div></div> </div> <style data-mw-deduplicate="TemplateStyles:r1184024115">.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}</style><div class="div-col" style="column-width: 30em;"> <ul><li><a href="/wiki/B%C3%A9l%C3%A1dy%27s_anomaly" title="Bélády's anomaly">Bélády's anomaly</a></li> <li><a href="/wiki/Demand_paging" title="Demand paging">Demand paging</a>, a "lazy" paging scheme</li> <li><a href="/wiki/Expanded_memory" title="Expanded memory">Expanded memory</a></li> <li><a href="/wiki/Memory_management" title="Memory management">Memory management</a></li> <li><a href="/wiki/Memory_segmentation" title="Memory segmentation">Memory segmentation</a></li> <li><a href="/wiki/Page_(computer_memory)" title="Page (computer memory)">Page (computer memory)</a></li> <li><a href="/wiki/Page_cache" title="Page cache">Page cache</a>, a disk cache that utilizes virtual memory mechanism</li> <li><a href="/wiki/Page_replacement_algorithm" title="Page replacement algorithm">Page replacement algorithm</a></li> <li><a href="/wiki/Page_table" title="Page table">Page table</a></li> <li><a href="/wiki/Physical_memory" class="mw-redirect" title="Physical memory">Physical memory</a>, a subject of paging</li> <li><a href="/wiki/Virtual_memory" title="Virtual memory">Virtual memory</a>, an abstraction that paging may create</li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=31" title="Edit section: Notes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-lower-alpha"> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">Initially <a href="/wiki/Drum_memory" title="Drum memory">drums</a>, and then <a href="/wiki/Hard_disk_drive" title="Hard disk drive">hard disk drives</a> and <a href="/wiki/Solid-state_drive" title="Solid-state drive">solid-state drives</a> have been used for paging.</span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text">E.g., <a href="/wiki/Multics" title="Multics">Multics</a>, <a href="/wiki/OS/VS1" title="OS/VS1">OS/VS1</a>, <a href="/wiki/OS/VS2" title="OS/VS2">OS/VS2</a>, <a href="/wiki/VM/370" class="mw-redirect" title="VM/370">VM/370</a></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text">E.g.,<a href="/wiki/Z/OS" title="Z/OS">z/OS</a>.</span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text">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<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>b<span class="cite-bracket">]</span></a></sup> and some systems have cascaded page tables.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>c<span class="cite-bracket">]</span></a></sup></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">For example, <a href="/wiki/MVS" title="MVS">MVS</a> (Multiple Virtual Storage).</span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text">A non-equivalence interruption occurs when the high order bits of an address do not match any entry in the associative memory.</span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=32" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239543626"><div class="reflist reflist-columns references-column-width" style="column-width: 30em;"> <ol class="references"> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFBelzerHolzmanKent1981" class="citation book cs1">Belzer, Jack; Holzman, Albert G.; Kent, Allen, eds. (1981). "Operating systems". <a rel="nofollow" class="external text" href="https://books.google.com/books?id=uTFirmDlSL8C"><i>Encyclopedia of computer science and technology</i></a>. Vol. 11. CRC Press. p. 442. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-8247-2261-2" title="Special:BookSources/0-8247-2261-2"><bdi>0-8247-2261-2</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170227051057/https://books.google.com/books?id=uTFirmDlSL8C&printsec=frontcover">Archived</a> from the original on 2017-02-27.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Operating+systems&rft.btitle=Encyclopedia+of+computer+science+and+technology&rft.pages=442&rft.pub=CRC+Press&rft.date=1981&rft.isbn=0-8247-2261-2&rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DuTFirmDlSL8C&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCragon1996" class="citation book cs1">Cragon, Harvey G. (1996). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=q2w3JSFD7l4C"><i>Memory Systems and Pipelined Processors</i></a>. Jones and Bartlett Publishers. p. 109. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-86720-474-5" title="Special:BookSources/0-86720-474-5"><bdi>0-86720-474-5</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170227205647/https://books.google.com/books?id=q2w3JSFD7l4C">Archived</a> from the original on 2017-02-27.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Memory+Systems+and+Pipelined+Processors&rft.pages=109&rft.pub=Jones+and+Bartlett+Publishers&rft.date=1996&rft.isbn=0-86720-474-5&rft.aulast=Cragon&rft.aufirst=Harvey+G.&rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3Dq2w3JSFD7l4C&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBelzerHolzmanKent1981" class="citation book cs1">Belzer, Jack; Holzman, Albert G.; Kent, Allen, eds. (1981). "Virtual memory systems". <a rel="nofollow" class="external text" href="https://books.google.com/books?id=KUgNGCJB4agC"><i>Encyclopedia of computer science and technology</i></a>. Vol. 14. CRC Press. p. 32. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-8247-2214-0" title="Special:BookSources/0-8247-2214-0"><bdi>0-8247-2214-0</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170227081754/https://books.google.com/books?id=KUgNGCJB4agC&printsec=frontcover">Archived</a> from the original on 2017-02-27.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Virtual+memory+systems&rft.btitle=Encyclopedia+of+computer+science+and+technology&rft.pages=32&rft.pub=CRC+Press&rft.date=1981&rft.isbn=0-8247-2214-0&rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DKUgNGCJB4agC&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKilburnPayneHowarth1962" class="citation web cs1"><a href="/wiki/Tom_Kilburn" title="Tom Kilburn">Kilburn, T</a>; Payne, R B; Howarth, D J (1962). <a rel="nofollow" class="external text" href="http://www.chilton-computing.org.uk/acl/technology/atlas/p019.htm">"The Atlas Supervisor"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+Atlas+Supervisor&rft.date=1962&rft.aulast=Kilburn&rft.aufirst=T&rft.au=Payne%2C+R+B&rft.au=Howarth%2C+D+J&rft_id=http%3A%2F%2Fwww.chilton-computing.org.uk%2Facl%2Ftechnology%2Fatlas%2Fp019.htm&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFR._W._O'Neill" class="citation conference cs1">R. W. O'Neill. <i>Experience using a time sharing multiprogramming system with dynamic address relocation hardware</i>. Proc. AFIPS Computer Conference 30 (Spring Joint Computer Conference, 1967). pp. 611–621. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1465482.1465581">10.1145/1465482.1465581</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=conference&rft.btitle=Experience+using+a+time+sharing+multiprogramming+system+with+dynamic+address+relocation+hardware&rft.pages=611-621&rft_id=info%3Adoi%2F10.1145%2F1465482.1465581&rft.au=R.+W.+O%27Neill&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation book cs1"><a rel="nofollow" class="external text" href="http://bitsavers.org/pdf/sds/9xx/940/900640A_940_RefMan_Aug66.pdf"><i>Scientific Data Systems Reference Manual, SDS 940 Computer</i></a> <span class="cs1-format">(PDF)</span>. 1966. pp. 8–9.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Scientific+Data+Systems+Reference+Manual%2C+SDS+940+Computer&rft.pages=8-9&rft.date=1966&rft_id=http%3A%2F%2Fbitsavers.org%2Fpdf%2Fsds%2F9xx%2F940%2F900640A_940_RefMan_Aug66.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://lwn.net/Articles/153353/">"Swap prefetching"</a>. <i><a href="/wiki/Linux_Weekly_News" class="mw-redirect" title="Linux Weekly News">Linux Weekly News</a></i>. 2005-09-27.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Linux+Weekly+News&rft.atitle=Swap+prefetching&rft.date=2005-09-27&rft_id=https%3A%2F%2Flwn.net%2FArticles%2F153353%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSumnerHaleyChenh1962" class="citation book cs1 cs1-prop-long-vol">Sumner, F. H.; Haley, G.; Chenh, E. C. Y. (1962). "The Central Control Unit of the 'Atlas' Computer". <i>Information Processing 1962</i>. IFIP Congress Proceedings. Vol. Proceedings of IFIP Congress 62. Spartan.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=The+Central+Control+Unit+of+the+%27Atlas%27+Computer&rft.btitle=Information+Processing+1962&rft.series=IFIP+Congress+Proceedings&rft.pub=Spartan&rft.date=1962&rft.aulast=Sumner&rft.aufirst=F.+H.&rft.au=Haley%2C+G.&rft.au=Chenh%2C+E.+C.+Y.&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120728105352/http://www.computer50.org/kgill/atlas/atlas.html">"The Atlas"</a>. University of Manchester: Department of Computer Science. Archived from <a rel="nofollow" class="external text" href="http://www.computer50.org/kgill/atlas/atlas.html">the original</a> on 2012-07-28.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+Atlas&rft.place=University+of+Manchester&rft.pub=Department+of+Computer+Science&rft_id=http%3A%2F%2Fwww.computer50.org%2Fkgill%2Fatlas%2Fatlas.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.chilton-computing.org.uk/acl/technology/atlas/p005.htm">"Atlas Architecture"</a>. <i>Atlas Computer</i>. Chilton: Atlas Computer Laboratory. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121210142240/http://www.chilton-computing.org.uk/acl/technology/atlas/p005.htm">Archived</a> from the original on 2012-12-10.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Atlas+Computer&rft.atitle=Atlas+Architecture&rft_id=http%3A%2F%2Fwww.chilton-computing.org.uk%2Facl%2Ftechnology%2Fatlas%2Fp005.htm&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKilburnPayneHowarth1961" class="citation book cs1 cs1-prop-long-vol">Kilburn, T.; Payne, R. B.; Howarth, D. J. (December 1961). <a rel="nofollow" class="external text" href="http://www.chilton-computing.org.uk/acl/technology/atlas/p019.htm">"The Atlas Supervisor"</a>. <i>Computers - Key to Total Systems Control</i>. Conferences Proceedings. Vol. 20, Proceedings of the Eastern Joint Computer Conference Washington, D.C. Macmillan. pp. 279–294. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20091231062425/http://www.chilton-computing.org.uk/acl/technology/atlas/p019.htm">Archived</a> from the original on 2009-12-31.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=The+Atlas+Supervisor&rft.btitle=Computers+-+Key+to+Total+Systems+Control&rft.series=Conferences+Proceedings&rft.pages=279-294&rft.pub=Macmillan&rft.date=1961-12&rft.aulast=Kilburn&rft.aufirst=T.&rft.au=Payne%2C+R.+B.&rft.au=Howarth%2C+D.+J.&rft_id=http%3A%2F%2Fwww.chilton-computing.org.uk%2Facl%2Ftechnology%2Fatlas%2Fp019.htm&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKilburnEdwardsLaniganSumner1962" class="citation journal cs1">Kilburn, T.; Edwards, D. B. G.; Lanigan, M. J.; Sumner, F. H. (April 1962). "One-Level Storage System". <i>IRE Transactions on Electronic Computers</i> (2). Institute of Radio Engineers: 223–235. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FTEC.1962.5219356">10.1109/TEC.1962.5219356</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=IRE+Transactions+on+Electronic+Computers&rft.atitle=One-Level+Storage+System&rft.issue=2&rft.pages=223-235&rft.date=1962-04&rft_id=info%3Adoi%2F10.1109%2FTEC.1962.5219356&rft.aulast=Kilburn&rft.aufirst=T.&rft.au=Edwards%2C+D.+B.+G.&rft.au=Lanigan%2C+M.+J.&rft.au=Sumner%2C+F.+H.&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTsigkogiannis2006" class="citation web cs1">Tsigkogiannis, Ilias (2006-12-11). <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/archive/blogs/iliast/crash-dump-analysis">"Crash Dump Analysis"</a>. <i>driver writing != bus driving</i>. <a href="/wiki/Microsoft" title="Microsoft">Microsoft</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20081007215138/http://blogs.msdn.com/iliast/archive/2006/12/11/crash-dump-analysis.aspx">Archived</a> from the original on 2008-10-07<span class="reference-accessdate">. Retrieved <span class="nowrap">2008-07-22</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=driver+writing+%21%3D+bus+driving&rft.atitle=Crash+Dump+Analysis&rft.date=2006-12-11&rft.aulast=Tsigkogiannis&rft.aufirst=Ilias&rft_id=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Farchive%2Fblogs%2Filiast%2Fcrash-dump-analysis&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://technet.microsoft.com/en-us/sysinternals/bb897426">"Windows Sysinternals PageDefrag"</a>. <i>Sysinternals</i>. <a href="/wiki/Microsoft" title="Microsoft">Microsoft</a>. 2006-11-01. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20101225112753/http://technet.microsoft.com/en-us/sysinternals/bb897426">Archived</a> from the original on 2010-12-25<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-12-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Sysinternals&rft.atitle=Windows+Sysinternals+PageDefrag&rft.date=2006-11-01&rft_id=https%3A%2F%2Ftechnet.microsoft.com%2Fen-us%2Fsysinternals%2Fbb897426&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBoth2020" class="citation web cs1">Both, David (2020-03-27). <a rel="nofollow" class="external text" href="https://opensource.com/article/18/9/swap-space-linux-systems">"An introduction to swap space on Linux systems"</a>. <i>Opensource.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-12-08</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Opensource.com&rft.atitle=An+introduction+to+swap+space+on+Linux+systems&rft.date=2020-03-27&rft.aulast=Both&rft.aufirst=David&rft_id=https%3A%2F%2Fopensource.com%2Farticle%2F18%2F9%2Fswap-space-linux-systems&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://linux.die.net/man/2/swapon">"swapon(2) – Linux man page"</a>. <i>Linux.Die.net</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140228161303/http://linux.die.net/man/2/swapon">Archived</a> from the original on 2014-02-28<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-09-08</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Linux.Die.net&rft.atitle=swapon%282%29+%E2%80%93+Linux+man+page&rft_id=http%3A%2F%2Flinux.die.net%2Fman%2F2%2Fswapon&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://lkml.org/lkml/2006/5/29/3">"<span class="cs1-kern-left"></span>"Jesper Juhl": Re: How to send a break? - dump from frozen 64bit linux"</a>. LKML. 2006-05-29. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20101124235412/http://lkml.org/lkml/2006/5/29/3">Archived</a> from the original on 2010-11-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-10-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=%22Jesper+Juhl%22%3A+Re%3A+How+to+send+a+break%3F+-+dump+from+frozen+64bit+linux&rft.pub=LKML&rft.date=2006-05-29&rft_id=https%3A%2F%2Flkml.org%2Flkml%2F2006%2F5%2F29%2F3&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://lkml.org/lkml/2005/7/7/326">"Andrew Morton: Re: Swap partition vs swap file"</a>. LKML. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20101124235448/http://lkml.org/lkml/2005/7/7/326">Archived</a> from the original on 2010-11-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-10-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Andrew+Morton%3A+Re%3A+Swap+partition+vs+swap+file&rft.pub=LKML&rft_id=https%3A%2F%2Flkml.org%2Flkml%2F2005%2F7%2F7%2F326&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.kernel.org/doc/html/latest/admin-guide/sysctl/vm.html#swappiness">"The Linux Kernel Documentation for /proc/sys/vm/"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+Linux+Kernel+Documentation+for+%2Fproc%2Fsys%2Fvm%2F&rft_id=https%3A%2F%2Fwww.kernel.org%2Fdoc%2Fhtml%2Flatest%2Fadmin-guide%2Fsysctl%2Fvm.html%23swappiness&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-kerneltrap-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-kerneltrap_26-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAndrews2004" class="citation web cs1">Andrews, Jeremy (2004-04-29). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130524085654/http://kerneltrap.org/node/3000">"Linux: Tuning Swappiness"</a>. <i>kerneltrap.org</i>. Archived from <a rel="nofollow" class="external text" href="http://kerneltrap.org/node/3000">the original</a> on 2013-05-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-01-03</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=kerneltrap.org&rft.atitle=Linux%3A+Tuning+Swappiness&rft.date=2004-04-29&rft.aulast=Andrews&rft.aufirst=Jeremy&rft_id=http%3A%2F%2Fkerneltrap.org%2Fnode%2F3000&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRik_van_Riel1998" class="citation web cs1">Rik van Riel (1998-05-20). <a rel="nofollow" class="external text" href="http://lkml.iu.edu/hypermail//linux/kernel/9805.2/0707.html">"swap death (as in 2.1.91) and page tables"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20171229195527/http://lkml.iu.edu/hypermail//linux/kernel/9805.2/0707.html">Archived</a> from the original on 2017-12-29.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=swap+death+%28as+in+2.1.91%29+and+page+tables&rft.date=1998-05-20&rft.au=Rik+van+Riel&rft_id=http%3A%2F%2Flkml.iu.edu%2Fhypermail%2F%2Flinux%2Fkernel%2F9805.2%2F0707.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKyle_Rankin2012" class="citation book cs1">Kyle Rankin (2012). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=icPyQDU3xD4C&pg=PT159"><i>DevOps Troubleshooting: Linux Server Best Practices</i></a>. Addison-Wesley. p. 159. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-13-303550-6" title="Special:BookSources/978-0-13-303550-6"><bdi>978-0-13-303550-6</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20171229195527/https://books.google.com/books?id=icPyQDU3xD4C&pg=PT159">Archived</a> from the original on 2017-12-29.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=DevOps+Troubleshooting%3A+Linux+Server+Best+Practices&rft.pages=159&rft.pub=Addison-Wesley&rft.date=2012&rft.isbn=978-0-13-303550-6&rft.au=Kyle+Rankin&rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DicPyQDU3xD4C%26pg%3DPT159&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAndries_Brouwer" class="citation web cs1">Andries Brouwer. <a rel="nofollow" class="external text" href="https://www.win.tue.nl/%7Eaeb/linux/lk/lk-9.html">"The Linux kernel: Memory"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170813052950/http://www.win.tue.nl/~aeb/linux/lk/lk-9.html">Archived</a> from the original on 2017-08-13.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+Linux+kernel%3A+Memory&rft.au=Andries+Brouwer&rft_id=https%3A%2F%2Fwww.win.tue.nl%2F%257Eaeb%2Flinux%2Flk%2Flk-9.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRed_Hat" class="citation web cs1">Red Hat. <a rel="nofollow" class="external text" href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-memory-captun.html">"Capacity Tuning"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170723214620/https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-memory-captun.html">Archived</a> from the original on 2017-07-23.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Capacity+Tuning&rft.au=Red+Hat&rft_id=https%3A%2F%2Faccess.redhat.com%2Fdocumentation%2Fen-US%2FRed_Hat_Enterprise_Linux%2F6%2Fhtml%2FPerformance_Tuning_Guide%2Fs-memory-captun.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://iainvlinux.wordpress.com/2014/02/16/memory-overcommit-settings/">"Memory overcommit settings"</a>. 2014-02-16. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170531182419/https://iainvlinux.wordpress.com/2014/02/16/memory-overcommit-settings/">Archived</a> from the original on 2017-05-31.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Memory+overcommit+settings&rft.date=2014-02-16&rft_id=https%3A%2F%2Fiainvlinux.wordpress.com%2F2014%2F02%2F16%2Fmemory-overcommit-settings%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPeter_MacDonald1993" class="citation web cs1">Peter MacDonald (1993-02-10). <a rel="nofollow" class="external text" href="http://tech-insider.org/linux/research/1993/0210.html">"swapping to death"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170328080649/http://tech-insider.org/linux/research/1993/0210.html">Archived</a> from the original on 2017-03-28.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=swapping+to+death&rft.date=1993-02-10&rft.au=Peter+MacDonald&rft_id=http%3A%2F%2Ftech-insider.org%2Flinux%2Fresearch%2F1993%2F0210.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFJohn_Siracusa2001" class="citation web cs1">John Siracusa (2001-10-15). <a rel="nofollow" class="external text" href="https://arstechnica.com/reviews/os/macosx-10-1.ars/7">"Mac OS X 10.1"</a>. Ars Technica. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20080905095622/http://arstechnica.com/reviews/os/macosx-10-1.ars/7">Archived</a> from the original on 2008-09-05<span class="reference-accessdate">. Retrieved <span class="nowrap">2008-07-23</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Mac+OS+X+10.1&rft.pub=Ars+Technica&rft.date=2001-10-15&rft.au=John+Siracusa&rft_id=https%3A%2F%2Farstechnica.com%2Freviews%2Fos%2Fmacosx-10-1.ars%2F7&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAmigaOS_Core_Developer2011" class="citation web cs1">AmigaOS Core Developer (2011-01-08). <a rel="nofollow" class="external text" href="http://forum.hyperion-entertainment.biz/viewtopic.php?f=14&t=755#p9346">"Re: Swap issue also on Update 4 ?"</a>. Hyperion Entertainment. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130412080355/http://forum.hyperion-entertainment.biz/viewtopic.php?f=14&t=755#p9346">Archived</a> from the original on 2013-04-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-01-08</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Re%3A+Swap+issue+also+on+Update+4+%3F&rft.pub=Hyperion+Entertainment&rft.date=2011-01-08&rft.au=AmigaOS+Core+Developer&rft_id=http%3A%2F%2Fforum.hyperion-entertainment.biz%2Fviewtopic.php%3Ff%3D14%26t%3D755%23p9346&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text">E.g., Rotational Position Sensing on a Block Multiplexor channel</span> </li> <li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size">"Aligning filesystems to an SSD's erase block size | Thoughts by Ted"</a>. Thunk.org. 2009-02-20. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20101113065550/http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size">Archived</a> from the original on 2010-11-13<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-10-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Aligning+filesystems+to+an+SSD%27s+erase+block+size+%26%23124%3B+Thoughts+by+Ted&rft.pub=Thunk.org&rft.date=2009-02-20&rft_id=http%3A%2F%2Fthunk.org%2Ftytso%2Fblog%2F2009%2F02%2F20%2Faligning-filesystems-to-an-ssds-erase-block-size&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> <li id="cite_note-buzbee-37"><span class="mw-cite-backlink">^ <a href="#cite_ref-buzbee_37-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-buzbee_37-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBill_Buzbee" class="citation web cs1">Bill Buzbee. <a rel="nofollow" class="external text" href="http://www.homebrewcpu.com/demand_paging.htm">"Magic-1 Minix Demand Paging Design"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130605134128/http://www.homebrewcpu.com/demand_paging.htm">Archived</a> from the original on 2013-06-05<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-12-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Magic-1+Minix+Demand+Paging+Design&rft.au=Bill+Buzbee&rft_id=http%3A%2F%2Fwww.homebrewcpu.com%2Fdemand_paging.htm&rfr_id=info%3Asid%2Fen.wikipedia.org%3AMemory+paging" class="Z3988"></span></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Memory_paging&action=edit&section=33" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="https://help.ubuntu.com/community/SwapFaq">Swap Facts and questions</a> by Ubuntu Documentation</li> <li><a rel="nofollow" class="external text" href="http://it.toolbox.com/blogs/microsoft-infrastructure/moving-the-pagefilesys-to-another-partition-or-disk-35772">Windows Server - Moving Pagefile to another partition or disk</a> by David Nudelman</li> <li><a rel="nofollow" class="external text" href="http://computer.howstuffworks.com/virtual-memory.htm">How Virtual Memory Works</a> from HowStuffWorks.com (in fact explains only swapping concept, and not virtual memory concept)</li> <li><a rel="nofollow" class="external text" href="http://www.faqs.org/docs/linux_admin/x1762.html">Linux swap space management</a> (outdated, as the author admits)</li> <li><a rel="nofollow" class="external text" href="http://www.techarp.com/showarticle.aspx?artno=143">Guide On Optimizing Virtual Memory Speed</a> (outdated)</li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110720003417/http://people.msoe.edu/~durant/courses/cs384/papers0405/mccrawt.pdf">Virtual Memory Page Replacement Algorithms</a></li> <li><a rel="nofollow" class="external text" href="http://support.microsoft.com/kb/308417/">Windows XP: How to manually change the size of the virtual memory paging file</a></li> <li><a rel="nofollow" class="external text" href="http://support.microsoft.com/?id=312362">Windows XP: Factors that may deplete the supply of paged pool memory</a></li> <li><a rel="nofollow" class="external text" href="http://www.acc.umu.se/~bosse/">SwapFs</a> driver that can be used to save the paging file of Windows on a swap partition of Linux</li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Memory_management" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Memory_management" title="Template:Memory management"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Memory_management" title="Template talk:Memory management"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Memory_management" title="Special:EditPage/Template:Memory management"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Memory_management" style="font-size:114%;margin:0 4em"><a href="/wiki/Memory_management" title="Memory management">Memory management</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><a href="/wiki/Memory_management_(operating_systems)" title="Memory management (operating systems)">Memory management as a function of an operating system</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Hardware</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Memory_management_unit" title="Memory management unit">Memory management unit</a> (MMU)</li> <li><a href="/wiki/Translation_lookaside_buffer" title="Translation lookaside buffer">Translation lookaside buffer</a> (TLB)</li> <li><a href="/wiki/Input%E2%80%93output_memory_management_unit" title="Input–output memory management unit">Input–output memory management unit</a> (IOMMU)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Virtual_memory" title="Virtual memory">Virtual memory</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Demand_paging" title="Demand paging">Demand paging</a></li> <li><a class="mw-selflink selflink">Memory paging</a></li> <li><a href="/wiki/Page_table" title="Page table">Page table</a></li> <li><a href="/wiki/Virtual_memory_compression" title="Virtual memory compression">Virtual memory compression</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Memory_segmentation" title="Memory segmentation">Memory segmentation</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Protected_mode" title="Protected mode">Protected mode</a></li> <li><a href="/wiki/Real_mode" title="Real mode">Real mode</a></li> <li><a href="/wiki/Virtual_8086_mode" title="Virtual 8086 mode">Virtual 8086 mode</a></li> <li><a href="/wiki/X86_memory_segmentation" title="X86 memory segmentation">x86 memory segmentation</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Memory_allocator" class="mw-redirect" title="Memory allocator">Memory allocator</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Dlmalloc" class="mw-redirect" title="Dlmalloc">dlmalloc</a></li> <li><a href="/wiki/Hoard_memory_allocator" title="Hoard memory allocator">Hoard</a></li> <li><a href="/wiki/Jemalloc" class="mw-redirect" title="Jemalloc">jemalloc</a></li> <li><a href="/wiki/Libumem" title="Libumem">libumem</a></li> <li><a href="/wiki/Mimalloc" title="Mimalloc">mimalloc</a></li> <li><a href="/wiki/Ptmalloc" class="mw-redirect" title="Ptmalloc">ptmalloc</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Manual_memory_management" title="Manual memory management">Manual memory management</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Static_variable" title="Static variable">Static memory allocation</a></li> <li><a href="/wiki/C_dynamic_memory_allocation" title="C dynamic memory allocation">C dynamic memory allocation</a></li> <li><a href="/wiki/New_and_delete_(C%2B%2B)" title="New and delete (C++)">new and delete (C++)</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Garbage_collection_(computer_science)" title="Garbage collection (computer science)">Garbage collection</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Automatic_Reference_Counting" title="Automatic Reference Counting">Automatic Reference Counting</a></li> <li><a href="/wiki/Boehm_garbage_collector" title="Boehm garbage collector">Boehm garbage collector</a></li> <li><a href="/wiki/Cheney%27s_algorithm" title="Cheney's algorithm">Cheney's algorithm</a></li> <li><a href="/wiki/Concurrent_mark_sweep_collector" title="Concurrent mark sweep collector">Concurrent mark sweep collector</a></li> <li><a href="/wiki/Finalizer" title="Finalizer">Finalizer</a></li> <li><a href="/wiki/Garbage_(computer_science)" title="Garbage (computer science)">Garbage</a></li> <li><a href="/wiki/Garbage-first_collector" title="Garbage-first collector">Garbage-first collector</a></li> <li><a href="/wiki/Mark%E2%80%93compact_algorithm" title="Mark–compact algorithm">Mark–compact algorithm</a></li> <li><a href="/wiki/Reference_counting" title="Reference counting">Reference counting</a></li> <li><a href="/wiki/Tracing_garbage_collection" title="Tracing garbage collection">Tracing garbage collection</a></li> <li><a href="/wiki/Weak_reference" title="Weak reference">Strong reference</a></li> <li><a href="/wiki/Weak_reference" title="Weak reference">Weak reference</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Memory_safety" title="Memory safety">Memory safety</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Buffer_overflow" title="Buffer overflow">Buffer overflow</a></li> <li><a href="/wiki/Buffer_over-read" title="Buffer over-read">Buffer over-read</a></li> <li><a href="/wiki/Dangling_pointer" title="Dangling pointer">Dangling pointer</a></li> <li><a href="/wiki/Stack_overflow" title="Stack overflow">Stack overflow</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Issues</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Fragmentation_(computing)" title="Fragmentation (computing)">Fragmentation</a></li> <li><a href="/wiki/Memory_leak" title="Memory leak">Memory leak</a></li> <li><a href="/wiki/Unreachable_memory" title="Unreachable memory">Unreachable memory</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Automatic_variable" title="Automatic variable">Automatic variable</a></li> <li><a href="/wiki/International_Symposium_on_Memory_Management" title="International Symposium on Memory Management">International Symposium on Memory Management</a></li> <li><a href="/wiki/Region-based_memory_management" title="Region-based memory management">Region-based memory management</a></li> <li><a href="/wiki/Memory_pool" title="Memory pool">Memory pool</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Memory_management" title="Category:Memory management">Memory management</a></li> <li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Virtual_memory" title="Category:Virtual memory">Virtual memory</a></li> <li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Automatic_memory_management" title="Category:Automatic memory management">Automatic memory management</a></li> <li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Memory_management_algorithms" title="Category:Memory management algorithms">Memory management algorithms</a></li> <li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Memory_management_software" title="Category:Memory management software">Memory management software</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Operating_systems" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Operating_systems" title="Template:Operating systems"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Operating_systems" title="Template talk:Operating systems"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Operating_systems" title="Special:EditPage/Template:Operating systems"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Operating_systems" style="font-size:114%;margin:0 4em"><a href="/wiki/Operating_system" title="Operating system">Operating systems</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Comparison_of_operating_systems" title="Comparison of operating systems">Comparison</a></li> <li><a href="/wiki/Forensic_software_engineering" title="Forensic software engineering">Forensic engineering</a></li> <li><a href="/wiki/History_of_operating_systems" title="History of operating systems">History</a></li> <li><a href="/wiki/List_of_operating_systems" title="List of operating systems">List</a></li> <li><a href="/wiki/Timeline_of_operating_systems" title="Timeline of operating systems">Timeline</a></li> <li><a href="/wiki/Usage_share_of_operating_systems" title="Usage share of operating systems">Usage share</a></li> <li><a href="/wiki/Comparison_of_user_features_of_operating_systems" title="Comparison of user features of operating systems">User features comparison</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Variants</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Disk_operating_system" title="Disk operating system">Disk operating system</a></li> <li><a href="/wiki/Distributed_operating_system" title="Distributed operating system">Distributed operating system</a></li> <li><a href="/wiki/Embedded_operating_system" title="Embedded operating system">Embedded operating system</a></li> <li><a href="/wiki/Hobbyist_operating_system" title="Hobbyist operating system">Hobbyist operating system</a></li> <li><a href="/wiki/Just_enough_operating_system" title="Just enough operating system">Just enough operating system</a></li> <li><a href="/wiki/Mobile_operating_system" title="Mobile operating system">Mobile operating system</a></li> <li><a href="/wiki/Network_operating_system" title="Network operating system">Network operating system</a></li> <li><a href="/wiki/Object-oriented_operating_system" title="Object-oriented operating system">Object-oriented operating system</a></li> <li><a href="/wiki/Real-time_operating_system" title="Real-time operating system">Real-time operating system</a></li> <li><a href="/wiki/Supercomputer_operating_system" title="Supercomputer operating system">Supercomputer operating system</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Kernel_(operating_system)" title="Kernel (operating system)">Kernel</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:6em"><a href="/wiki/Computer_architecture" title="Computer architecture">Architectures</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Exokernel" title="Exokernel">Exokernel</a></li> <li><a href="/wiki/Hybrid_kernel" title="Hybrid kernel">Hybrid</a></li> <li><a href="/wiki/Microkernel" title="Microkernel">Microkernel</a></li> <li><a href="/wiki/Monolithic_kernel" title="Monolithic kernel">Monolithic</a></li> <li><a href="/wiki/Multikernel" title="Multikernel">Multikernel</a></li> <li><a href="/wiki/Vkernel" title="Vkernel">vkernel</a></li> <li><a href="/wiki/Rump_kernel" title="Rump kernel">Rump kernel</a></li> <li><a href="/wiki/Unikernel" title="Unikernel">Unikernel</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:6em">Components</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Device_driver" title="Device driver">Device driver</a></li> <li><a href="/wiki/Loadable_kernel_module" title="Loadable kernel module">Loadable kernel module</a></li> <li><a href="/wiki/User_space_and_kernel_space" title="User space and kernel space">User space and kernel space</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Process_management_(computing)" title="Process management (computing)">Process management</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:6em">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Computer_multitasking" title="Computer multitasking">Computer multitasking</a> (<a href="/wiki/Cooperative_multitasking" title="Cooperative multitasking">Cooperative</a>, <a href="/wiki/Preemption_(computing)" title="Preemption (computing)">Preemptive</a>)</li> <li><a href="/wiki/Context_switch" title="Context switch">Context switch</a></li> <li><a href="/wiki/Interrupt" title="Interrupt">Interrupt</a></li> <li><a href="/wiki/Inter-process_communication" title="Inter-process communication">IPC</a></li> <li><a href="/wiki/Process_(computing)" title="Process (computing)">Process</a></li> <li><a href="/wiki/Process_control_block" title="Process control block">Process control block</a></li> <li><a href="/wiki/Real-time_operating_system" title="Real-time operating system">Real-time</a></li> <li><a href="/wiki/Thread_(computing)" title="Thread (computing)">Thread</a></li> <li><a href="/wiki/Time-sharing" title="Time-sharing">Time-sharing</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:6em"><a href="/wiki/Scheduling_(computing)" title="Scheduling (computing)">Scheduling<br />algorithms</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Fixed-priority_pre-emptive_scheduling" title="Fixed-priority pre-emptive scheduling">Fixed-priority preemptive</a></li> <li><a href="/wiki/Multilevel_feedback_queue" title="Multilevel feedback queue">Multilevel feedback queue</a></li> <li><a href="/wiki/Round-robin_scheduling" title="Round-robin scheduling">Round-robin</a></li> <li><a href="/wiki/Shortest_job_next" title="Shortest job next">Shortest job next</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Memory_management_(operating_systems)" title="Memory management (operating systems)">Memory management</a>,<br /><a href="/wiki/System_resource" title="System resource">resource</a> protection</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bus_error" title="Bus error">Bus error</a></li> <li><a href="/wiki/General_protection_fault" title="General protection fault">General protection fault</a></li> <li><a class="mw-selflink selflink">Memory paging</a></li> <li><a href="/wiki/Memory_protection" title="Memory protection">Memory protection</a></li> <li><a href="/wiki/Protection_ring" title="Protection ring">Protection ring</a></li> <li><a href="/wiki/Segmentation_fault" title="Segmentation fault">Segmentation fault</a></li> <li><a href="/wiki/Virtual_memory" title="Virtual memory">Virtual memory</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Non-volatile_memory" title="Non-volatile memory">Storage</a> access,<br /><a href="/wiki/File_system" title="File system">file systems</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Booting#BOOT-LOADER" title="Booting">Boot loader</a></li> <li><a href="/wiki/Defragmentation" title="Defragmentation">Defragmentation</a></li> <li><a href="/wiki/Device_file" title="Device file">Device file</a></li> <li><a href="/wiki/File_attribute" title="File attribute">File attribute</a></li> <li><a href="/wiki/Inode" title="Inode">Inode</a></li> <li><a href="/wiki/Journaling_file_system" title="Journaling file system">Journal</a></li> <li><a href="/wiki/Disk_partitioning" title="Disk partitioning">Partition</a></li> <li><a href="/wiki/Virtual_file_system" title="Virtual file system">Virtual file system</a></li> <li><a href="/wiki/Virtual_tape_library" title="Virtual tape library">Virtual tape library</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Supporting concepts</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/API" title="API">API</a></li> <li><a href="/wiki/Computer_network" title="Computer network">Computer network</a></li> <li><a href="/wiki/Hardware_abstraction" title="Hardware abstraction">HAL</a></li> <li><a href="/wiki/Live_CD" title="Live CD">Live CD</a></li> <li><a href="/wiki/Live_USB" title="Live USB">Live USB</a></li> <li><a href="/wiki/Shell_(computing)" title="Shell (computing)">Shell</a> <ul><li><a href="/wiki/Command-line_interface" title="Command-line interface">CLI</a></li> <li><a href="/wiki/User_interface" title="User interface">User interface</a></li></ul></li> <li><a href="/wiki/Preboot_Execution_Environment" title="Preboot Execution Environment">PXE</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐lh5s9 Cached time: 20241122140911 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.853 seconds Real time usage: 1.032 seconds Preprocessor visited node count: 3626/1000000 Post‐expand include size: 109031/2097152 bytes Template argument size: 4738/2097152 bytes Highest expansion depth: 14/100 Expensive parser function count: 21/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 132292/5000000 bytes Lua time usage: 0.512/10.000 seconds Lua memory usage: 7131158/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 903.205 1 -total 37.81% 341.505 2 Template:Reflist 17.97% 162.348 7 Template:Cite_book 13.07% 118.057 4 Template:Navbox 13.03% 117.728 1 Template:Short_description 12.53% 113.187 21 Template:Cite_web 12.22% 110.409 1 Template:Memory_management 8.12% 73.310 1 Template:Expert_needed 7.24% 65.418 11 Template:Main_other 6.56% 59.286 2 Template:Ambox --> <!-- Saved in parser cache with key enwiki:pcache:idhash:311193-0!canonical and timestamp 20241122140911 and revision id 1242335562. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Memory_paging&oldid=1242335562">https://en.wikipedia.org/w/index.php?title=Memory_paging&oldid=1242335562</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Memory_management" title="Category:Memory management">Memory management</a></li><li><a href="/wiki/Category:Virtual_memory" title="Category:Virtual memory">Virtual memory</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:CS1:_long_volume_value" title="Category:CS1: long volume value">CS1: long volume value</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:Articles_needing_expert_attention_from_June_2019" title="Category:Articles needing expert attention from June 2019">Articles needing expert attention from June 2019</a></li><li><a href="/wiki/Category:All_articles_needing_expert_attention" title="Category:All articles needing expert attention">All articles needing expert attention</a></li><li><a href="/wiki/Category:Computing_articles_needing_expert_attention" title="Category:Computing articles needing expert attention">Computing articles needing expert attention</a></li><li><a href="/wiki/Category:Use_dmy_dates_from_March_2020" title="Category:Use dmy dates from March 2020">Use dmy dates from March 2020</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_September_2021" title="Category:Articles with unsourced statements from September 2021">Articles with unsourced statements from September 2021</a></li><li><a href="/wiki/Category:Wikipedia_articles_in_need_of_updating_from_July_2014" title="Category:Wikipedia articles in need of updating from July 2014">Wikipedia articles in need of updating from July 2014</a></li><li><a href="/wiki/Category:All_Wikipedia_articles_in_need_of_updating" title="Category:All Wikipedia articles in need of updating">All Wikipedia articles in need of updating</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_December_2016" title="Category:Articles with unsourced statements from December 2016">Articles with unsourced statements from December 2016</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_September_2010" title="Category:Articles with unsourced statements from September 2010">Articles with unsourced statements from September 2010</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 26 August 2024, at 09:10<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Memory_paging&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-f6w29","wgBackendResponseTime":171,"wgPageParseReport":{"limitreport":{"cputime":"0.853","walltime":"1.032","ppvisitednodes":{"value":3626,"limit":1000000},"postexpandincludesize":{"value":109031,"limit":2097152},"templateargumentsize":{"value":4738,"limit":2097152},"expansiondepth":{"value":14,"limit":100},"expensivefunctioncount":{"value":21,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":132292,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 903.205 1 -total"," 37.81% 341.505 2 Template:Reflist"," 17.97% 162.348 7 Template:Cite_book"," 13.07% 118.057 4 Template:Navbox"," 13.03% 117.728 1 Template:Short_description"," 12.53% 113.187 21 Template:Cite_web"," 12.22% 110.409 1 Template:Memory_management"," 8.12% 73.310 1 Template:Expert_needed"," 7.24% 65.418 11 Template:Main_other"," 6.56% 59.286 2 Template:Ambox"]},"scribunto":{"limitreport-timeusage":{"value":"0.512","limit":"10.000"},"limitreport-memusage":{"value":7131158,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-lh5s9","timestamp":"20241122140911","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Memory paging","url":"https:\/\/en.wikipedia.org\/wiki\/Memory_paging","sameAs":"http:\/\/www.wikidata.org\/entity\/Q656083","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q656083","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2003-09-04T04:11:49Z","dateModified":"2024-08-26T09:10:07Z","headline":"memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory"}</script> </body> </html>