Demand Paging - Basic Concept

Basic Concept

Demand paging follows that pages should only be brought into memory if the executing process demands them. This is often referred to as lazy evaluation as only those pages demanded by the process are swapped from secondary storage to main memory. Contrast this to pure swapping, where all memory for a process is swapped from secondary storage to main memory during the process startup.

Commonly, to achieve this process a page table implementation is used. The page table maps logical memory to physical memory. The page table uses a bitwise operator to mark if a page is valid or invalid. A valid page is one that currently resides in main memory. An invalid page is one that currently resides in secondary memory. When a process tries to access a page, the following steps are generally followed:

  • Attempt to access page.
  • If page is valid (in memory) then continue processing instruction as normal.
  • If page is invalid then a page-fault trap occurs.
  • Check if the memory reference is a valid reference to a location on secondary memory. If not, the process is terminated (illegal memory access). Otherwise, we have to page in the required page.
  • Schedule disk operation to read the desired page into main memory.
  • Restart the instruction that was interrupted by the operating system trap.

Read more about this topic:  Demand Paging

Famous quotes containing the words basic and/or concept:

    The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use the words.
    Philip K. Dick (1928–1982)

    I was thinking what an interesting concept it is to eliminate the writer from the artistic process. If we can just get rid of these actors and directors, maybe we got something here.
    Michael Tolkin, U.S. screenwriter, and Robert Altman. Griffin Mill (Tim Robbins)