Virtual Memory - Page (memory page|virtual page|chunk)

Card Puncher Data Processing

About

A page is the unit of data processed by paging.

In a virtual memory process, with an MMU, memory addresses go through a translation step prior to each memory access.

This means that memory address 123 might be directed to physical address 82043 at one time, and physical address 20468 another time. As it turns out, the overhead of individually tracking the virtual to physical translations for billions of bytes of memory would be too great.

Virtual Memory

Instead, the MMU divides RAM into page (known also as memory page or virtual page) which are contiguous sections of memory of a set size that are handled by the MMU as single entities.

Each pages (chunk) can have different states such as:

  • “empty”,
  • “in memory”,
  • or “on disk”.

In Linux, those chunks are typically 4Kb.

Property

Shared

Shared page are shared between process. How many processes share is not known. See Virtual Memory - Shared Memory (SHM)

Management

Size

A memory page can be both in memory and on disk, and if you sum up everything in memory and everything on disk you will count the page twice.

Shared pages are even more complicated, as only the fact that they are shared is known. How many processes share is not known. If you sum up all the processes memory that is “in RAM” you will count the shared pages multiple times.

Swap

See Virtual Memory - Paging or Swapping

in

see page in

out

see Page Out

fault

see Memory - Page Fault Exception

Documentation / Reference

  • Chapter 3, “Protected-Mode Memory Management,” in the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A.





Discover More
Card Puncher Data Processing
Application - Paging

Paging involves getting data in chunks of data called pages. Most of local application stores its data in memory; therefore, the amount of data it can hold is limited by the size of its memory. But by...
Card Puncher Data Processing
IO - Block (Batch on device)

A block is a unit of storage representing a fix number of bytes called the block size. It's also known as the minimum unit of transfer. It implements the concept of batch where data is organized into...
Card Puncher Data Processing
Instruction - Addressing Mode (Operand Addressing)

An addressing mode specifies how to calculate the real memory address of an instruction operand The term addressing mode is itself subject to different interpretations: either memory address calculation...
Linux - Page

page byte
Card Puncher Data Processing
Memory - Address Space

The range of memory that can be addressed is called an address space. It is the total number of uniquely-addressable memory locations Same as in memory. ? The whole set of physical address...
Page Fault Process Explorer
Memory - Page Fault Exception

A page fault occurs when the (kernel|processor) needs a page, finds it doesn't exist in physical memory because it has been paged-out, and re-reads it in from disk. Page fault in process...
Oracle Segment Extent Data Block
Oracle Database - (Data|Db|Logical|Oracle) Block or Page

Articles which talk : block management. ?? At the finest level of granularity in the logical structure of an Oracle Database, the data is stored in data blocks. The data block sizes should be a...
Sap Hana Architecture
SAP Hana - Data and Log Volume (File)

Each volume contains one file (datavolume_0000.dat) in which data is organized into pages, ranging in size from 4KB to 16MB (page size class). During the installation process, the following default...
Card Puncher Data Processing
Virtual Memory - Address Space

The virtual address space is the total number of uniquely-addressable memory locations that the virtual memory gives to a process. This is virtual memory (logical memory), not the amount of physical memory....
Card Puncher Data Processing
Virtual Memory - Page Out

When pages are written to disk, the event is called a page-out pagespage-in Page-outs, however, can be a sign of trouble. When the kernel detects that memory is running low, it attempts to free up memory...



Share this page:
Follow us:
Task Runner