FACTOID # 12: It's not the government they hate: Washington DC has the highest number of hate crimes per capita in the US.
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 


FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:



(* = Graphable)



Encyclopedia > Demand paging

In computer operating systems, demand paging is an application of virtual memory. In a system that uses demand paging, the operating system copies a disk page into physical memory only if an attempt is made to access it (i.e., if a page fault occurs). It follows that a process begins execution with none of its pages in physical memory, and many page faults will occur until most of a process's working set of pages is located in physical memory. This is an example of lazy loading techniques. The NASA Columbia Supercomputer. ... In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ... How virtual memory maps to physical memory Virtual memory is an addressing scheme implemented in hardware and software that allows non-contiguous memory to be addressed as if it were contiguous. ... In computer operating systems, paging memory allocation, paging refers to the process of managing program access to virtual memory pages that do not currently reside in RAM. It is implemented as a task that resides in the kernel of the operating system and gains control when a page fault takes... In computer storage technology, a page fault is an interrupt (or exception) to the software raised by the hardware, when a program accesses a page that is not mapped in physical memory. ... In computing, a process is an instance of a computer program that is being executed. ... Working set is the set of physical memory pages currently dedicated to a specific process. ...

Advantages of demand paging:

  • Does not load the pages that are never accessed, so saves the memory for other programs and increases the degree of multiprogramming.
  • Less loading latency at the program startup.
  • Less disk overhead because of fewer page reads.
  • Pages will be shared by multiple programs until they are modified by one of them, so a technique called copy on write will be used to save more resources.
  • Ability to run large programs on the machine, even though it does not have sufficient memory to run the program. This method is better than an old technique called overlays.
  • Does not need extra hardware support than what paging needs, since protection fault can be used to get page fault.

Disadvantages: Copy-on-write (sometimes referred to as COW) is an optimization strategy used in computer programming. ... In a general computing sense, overlaying means replacement of a block of stored instructions or data with another[1] Overlaying is a programming method that allows programs to be larger than the central processing units main memory. ...

  • Individual programs face extra latency when they access a page for the first time. So prepaging, a method of remembering which pages a process used when it last executed and preloading a few of them, is used to improve performance.
  • Memory management with page replacement algorithms becomes slightly more complex.
  • Possible security risks, including vulnerability to timing attacks; see Percival 2005 Cache Missing for Fun and Profit (specifically the virtual memory attack in the first section).

In Unix systems such as Linux, demand paging is accomplished by the means of the mmap() system call. It is also used when executing new programs. The operating system maps the executable file (and its dependent libraries) into the address space of the newly executing program, without actually allocating any physical RAM for the contents of those files. When the mappings are read-only and shared, the program may actually run literally from the page cache. In a computer operating system which utilises paging for virtual memory memory management, page replacement algorithms decide what pages to page out (swap out) when a page needs to be allocated. ... In cryptography, a timing attack is a form of side channel attack where the attacker tries to break a cryptosystem by analyzing the time taken to execute cryptographic algorithms. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... Linux (IPA pronunciation: ) is a Unix-like computer operating system. ... In computing, mmap() is a POSIX-compliant Unix system call that maps files or devices into memory. ... Memory mapping describes a process whereby some item of digital hardware is connected to a processors address bus and data bus in such a way that it can be accessed (for reading and/or writing) exactly as if it were a memory cell. ... // Diagram of a typical Shared memory system. ... This article or section does not cite its references or sources. ...

See also

This article or section does not cite its references or sources. ... Memory management is the act of managing computer memory. ... How virtual memory maps to physical memory Virtual memory is an addressing scheme implemented in hardware and software that allows non-contiguous memory to be addressed as if it were contiguous. ... In computer programming, lazy evaluation is a technique that attempts to delay computation of expressions until the results of the computation are known to be needed. ...


  • Tanenbaum, Andrew S. Operating Systems: Design and Implementation (Second Edition). New Jersey: Prentice-Hall 1997.

  Results from FactBites:
Avoidance of deadlocks in a demand paged video adapter - Patent 5592670 (5016 words)
As the memory is demand paged, a potential for a deadlock arises.
The page frame 50 is used in conjunction with an offset 52 (which is equal to offset 38 of the linear address 30) to produce the physical address 32.
Further suppose that the source page and destination page are different, and additionally suppose that, initially, the page holding the source address is not present in the page frame 68 (i.e., page frame 0) of physical memory 58.
DEMAND PAGING - Definition (199 words)
A kind of virtual memory where a page of memory will be paged in if an attempt is made to access it and it is not already present in main memory.
This normally involves a memory management unit which looks up the virtual address in a page map to see if it is paged in.
If it is not then the operating system will page it in, update the page map and restart the failed access.
  More results at FactBites »



Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m