Kernel-space buddy memory allocator and slab cache manager designed for low-overhead page frames and object reuse.
A minimal kernel-space memory management subsystem engineered in C. Combines a binary buddy page allocator for managing physical frame allocations with an object-caching slab allocator for fine-grained kernel structures.
Physical RAM (Pages of 4096 bytes)
|
[Buddy Allocator] (Order 0 to Order 10)
|
[Slab Cache Layer] (32B, 64B, 128B, 256B, 512B)
|
Kernel Objects (Task structs, Inodes, File descriptors)Tested using a synthetic microbenchmark allocating and releasing 500,000 randomized objects up to 4096 bytes. Memory overhead remained within 3.4% of total allocated capacity.
# Compile and run test suite
make all
./bin/allocator_test