Expand description
A simple heap based on a buddy allocator. For the theory of buddy allocators, see https://en.wikipedia.org/wiki/Buddy_memory_allocation
This can either be used as a standalone library, or as a replacement
for Rust’s system allocator. It runs on top of libcore
, so it can be
used on bare metal or in kernel space.
Note that our Heap
API is unstable.
Structs§
- A free block in our heap. This is actually a header that we store at the start of the block. We don’t store any size information in the header, because we a separate free block list for each block size.
- The interface to a heap. This data structure is stored outside the heap somewhere, because every single byte of our heap is potentially available for allocation.