Memory Management

Document Revision: 26h1.0


ZXFoundation™'s memory management is organized in four layers:

┌──────────────────────────────────────────┐
│  kmalloc / kfree  (general-purpose)      │
├──────────────────────────────────────────┤
│  Slab allocator   (fixed-size caches)    │
├──────────────────────────────────────────┤
│  VMM              (virtual address space)│
├──────────────────────────────────────────┤
│  PMM              (physical frames)      │
├──────────────────────────────────────────┤
│  MMU              (hardware DAT tables)  │
└──────────────────────────────────────────┘
PageContents
PMMZone-aware buddy allocator, page descriptors
VMMVirtual address space, VMA red-black tree, vmalloc
Slab & KmallocFixed-size object caches, general allocator