Chapter 2 Summary

From The Linux Memory Wiki

Jump to: navigation, search

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.


Prev: High Memory Mapping
Advertisement