Interview Question

Created by admin on Sat, 17/11/2012 - 17:53
Question: 

Describe the Buddy system of memory allocation.

Language: 
Answer: 

Free memory is maintained in linked lists, each of equal sized blocks. Any such block is of size 2^k. When some memory is required by a process, the block size of next higher order is chosen, and broken into two. Note that the two such pieces differ in address only in their kth bit. Such pieces are called buddies. When any used block is freed, the OS checks to see if its buddy is also free.