Chapter 2 Summary
From The Linux Memory Wiki
By the end of this chapter you should have understand how the kernel manage its own memory.
- The buddy allocator handles low level memory management on most raw memory area inside the memory zone.
- The zone allocator sits on top of buddy allocator to manage 3 different zones of memory. It delegates the memory allocation inside memory zone to the buddy allocator.
- The slab allocator sits on top of zone allocator. It allocates big chunks of memory from zone allocator and devide the chunk into smaller fixed size objects.
- Kernel developers usually call the slab allocator through either kmem_cache_alloc() or kmalloc() to allocate memory inside the kernel.
Notice for the kernel API functions, I have omitted the functions to free memory and focus on memory allocation for simplicity.
