Page fault

Computer simulation, one of the main cross-computing methodologies.

Exception that the memory management unit (MMU) raises when a process accesses a memory page without proper preparations.

- Page fault

51 related topics

Relevance

Memory management unit

Computer hardware unit having all memory references passed through itself, primarily performing the translation of virtual memory addresses to physical addresses.

300x300px
Schematic of the operation of an MMU
VLSI VI475 MMU "Apple HMMU" from the Macintosh II used with the Motorola 68020
Heterogeneous System Architecture (HSA) creates a unified virtual address space for CPUs, GPUs and DSPs, obsoleting the mapping tricks and data copying.

In this case, the MMU signals a page fault to the CPU.

Virtual address space

Set of ranges of virtual addresses that an operating system makes available to a process.

300px

Using or setting values in such a VAS would cause a memory exception.

Virtual memory

Memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very large memory".

Virtual memory combines active RAM and inactive memory on DASD to form a large range of contiguous addresses.
The University of Manchester Atlas Computer was the first computer to feature true virtual memory.

When a reference is made to a page by the hardware, if the page table entry for the page indicates that it is not currently in real memory, the hardware raises a page fault exception, invoking the paging supervisor component of the operating system.

Thrashing (computer science)

Charles Babbage, sometimes referred to as the "father of computing".

In computer science, thrashing occurs when a computer's virtual memory resources are overused, leading to a constant state of paging and page faults, inhibiting most application-level processing.

Segmentation fault

Fault, or failure condition, raised by hardware with memory protection, notifying an operating system (OS) the software has attempted to access a restricted area of memory (a memory access violation).

Example of human generated signal
Segmentation fault affecting Krita in KDE desktop environment
A null pointer dereference on Windows 8
Segmentation fault on an EMV keypad

On systems using only paging, an invalid page fault generally leads to a segmentation fault, and segmentation faults and page faults are both faults raised by the virtual memory management system.

Page table

Data structure used by a virtual memory system in a computer operating system to store the mapping between virtual addresses and physical addresses.

Relationship between pages addressed by virtual addresses and the pages in physical memory, within a simple address space scheme. Physical memory can contain pages belonging to many processes. Pages can be held on disk if seldom used, or if physical memory is full. In the diagram above, some pages are not in physical memory.
Actions taken upon a virtual to physical address translation. Each translation is restarted if a TLB miss occurs, so that the lookup can occur correctly through hardware.
Two-level page table structure in x86 architecture (without PAE or PSE).
Three-level page table structure in x86 architecture (with PAE, without PSE).

However, part of this linear page table structure must always stay resident in physical memory in order to prevent circular page faults and look for a key part of the page table that is not present in the page table.

Page replacement algorithm

In a computer operating system that uses paging for virtual memory management, page replacement algorithms decide which memory pages to page out, sometimes called swap out, or write to disk, when a page of memory needs to be allocated.

A human computer, with microscope and calculator, 1952

Page replacement happens when a requested page is not in memory (page fault) and a free page cannot be used to satisfy the allocation, either because there are none, or because the number of free pages is lower than some threshold.

Operating system

System software that manages computer hardware, software resources, and provides common services for computer programs.

OS/360 was used on most IBM mainframe computers beginning in 1966, including computers used by the Apollo program.
PC DOS was an early personal computer OS that featured a command-line interface.
Mac OS by Apple Computer became the first widespread OS to feature a graphical user interface. Many of its features such as windows and icons would later become commonplace in GUIs.
The first server for the World Wide Web ran on NeXTSTEP, based on BSD.
Ubuntu, desktop Linux distribution
Linux, a unix-like operating system was first time released on September 17, 1991, by Linus Torvalds. Picture of Tux the penguin, mascot of Linux.
A kernel connects the application software to the hardware of a computer.
Privilege rings for the x86 microprocessor architecture available in protected mode. Operating systems determine which processes run in each mode.
Many operating systems can "trick" programs into using memory scattered around the hard disk and RAM as if it is one continuous chunk of memory, called virtual memory.
File systems allow users and programs to organize and sort files on a computer, often through the use of directories (or "folders").
A screenshot of the Bash command line. Each command is typed out after the 'prompt', and then its output appears below, working its way down the screen. The current command prompt is at the bottom.
A screenshot of the KDE Plasma 5 graphical user interface. Programs take the form of images on the screen, and the files, folders (directories), and applications take the form of icons and symbols. A mouse is used to navigate the computer.

(See section on memory management.) Under UNIX this kind of interrupt is referred to as a page fault.

Commit charge

Term used in Microsoft Windows operating systems to describe the total amount of virtual memory of all processes that must be backed by either physical memory or the page file.

It represents the subset of the process's virtual address space that is valid, meaning that it can be referenced without incurring a page fault.

Error message

Information displayed when an unforeseen problem occurs, usually on a computer or other device.

An error message when attempting to use the Wikipedia Visual editor.
Tumbeasts gnawing on servers, used by Tumblr in 2011

This message is displayed by Microsoft Windows Vista and later when a program causes a general protection fault or invalid page fault.