Skip to content

linux/Documentation/admin-guide/mm/concepts.rst

Imported from _research/manual-study-linux/file-notes/linux__Documentation__admin-guide__mm__concepts.rst.md.

File Notes: Documentation/admin-guide/mm/concepts.rst

Status: reviewed.

Purpose

Provides the conceptual model for Linux memory management: virtual memory, page tables, huge pages, zones, NUMA nodes, page cache, anonymous memory, reclaim, compaction, and OOM handling.

Key Points

Linux assumes an MMU for the documented model and uses virtual memory to hide physical memory layout, support demand paging, and enforce protection/sharing. Physical memory is split into pages; virtual-to-physical mappings are described by hierarchical page tables.

Anonymous memory commonly starts as permitted virtual ranges. Read accesses can map a shared zero page, while writes allocate real physical pages. Reclaim distinguishes reclaimable page cache/anonymous memory from unreclaimable pinned kernel/DMA pages.

Rust Translation Guidance

A Rust kernel should keep separate types for virtual regions, physical pages, page-table entries, reclaimable pages, unreclaimable pages, and page-cache state. Do not flatten the model into byte arrays.

AI-Native Systems Guidance

AI runtimes should treat long-lived context as virtualized state: some data can be synthesized, some backed by storage, some reclaimable, some pinned, and some subject to OOM policy.

Evidence

  • Virtual memory abstracts physical complexity, supports demand paging, and protects/shares data at Documentation/admin-guide/mm/concepts.rst:27-39.
  • Page frames and hierarchical page tables are described at Documentation/admin-guide/mm/concepts.rst:41-62.
  • Huge pages and TLB pressure are described at Documentation/admin-guide/mm/concepts.rst:64-95.
  • Zones and NUMA nodes are described at Documentation/admin-guide/mm/concepts.rst:97-126.
  • Page cache and anonymous memory are described at Documentation/admin-guide/mm/concepts.rst:128-152.
  • Reclaim, direct reclaim, compaction, and OOM behavior are introduced at Documentation/admin-guide/mm/concepts.rst:154-220.