Memory management/Introduction
From WhitixDoc
Memory management in Whitix involves three separate layers: physical page allocation, virtual memory mapping and the various subsystems that use the virtual memory mapping functions. All the memory system calls interact with the top layer of the virtual memory subsystem. Most kernel code does not interact with the bottom two layers, and instead uses the slab allocator to fulfill dynamic memory allocation needs.
Most of the memory management code (the term virtual memory subsystem is used interchangeably) is located in the memory/ directory, apart from the virtual memory mapping code, which is located in arch/<arch>/mm/.
The most basic layer of the subsystem is the physical page allocator, which returns page addresses and handles allocation and deallocation of physical memory. The next is the virtual memory mapper, which handles the translation from virtual memory to physical memory (including managing page directories and page tables for different processes). Three different layers use the virtual memory mapper; these are the file memory mapper, the slab allocator and the shared memory layer.
Whitix does not yet support paging to disk. Developers are welcome to add this feature.
| Developer manual > Kernel overview > Memory management/Introduction |