Many algorithms have been devised and studied for dynamic contiguous memory allocation. In the absence of enough contiguous memory to satisfy a particular request, one approach is to allocate memory in blocks that are as close as possible to each other, by minimizing interfering blocks
Elias G. Khalaf, Ralph Tucci