Assumptions
Explore the fundamental assumptions in user-level memory allocators that manage heap space using malloc and free. Understand how free space is tracked with free lists, the focus on external fragmentation, and the challenges posed by non-relocatable memory regions in allocation and deallocation.
Most of this discussion will focus on the great history of allocators found in user-level memory-allocation libraries. We draw on
Basic interface is provided by malloc() and free()
We assume a basic interface such as ...