Describe the Buddy system of memory allocation.

Answers were Sorted based on User's Feedback



Describe the Buddy system of memory allocation...

Answer / guest

Free memory is maintained in linked lists, each of equal
sized blocks. Any such block is of size 2k. When some
memory is required by a process, the block size of next
higher order is chosen, and broken into two. 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. If so, it is
rejoined, and put into the original free-block linked-list.

Is This Answer Correct ?    28 Yes 11 No

Describe the Buddy system of memory allocation...

Answer / wiki addict

The buddy memory allocation technique allocates memory in
powers of 2, i.e 2x, where x is an integer. Thus, the
programmer has to decide on, or to write code to obtain, the
upper limit of x. For instance, if the system had 2000K of
physical memory, the upper limit on x would be 10, since 210
(1024K) is the biggest allocatable block. This results in
making it impossible to allocate everything in as a single
chunk; the remaining 976K of memory would have to be taken
in smaller blocks.
After deciding on the upper limit (let's call the upper
limit u), the programmer has to decide on the lower limit,
i.e. the smallest memory block that can be allocated. This
lower limit is necessary so that the overhead of storing
used and free memory locations is minimized. If this lower
limit did not exist, and many programs request small blocks
of memory like 1K or 2K, the system would waste a lot of
space trying to remember which blocks are allocated and
unallocated. Typically this number would be a moderate
number (like 2, so that memory is allocated in 2² = 4K
blocks), small enough to minimize wasted space, but large
enough to avoid excessive overhead. Let's call this lower
limit l.
Now that we have our limits, let us see what happens when a
program makes requests for memory. Let's say in this system,
l = 6, which results in blocks 26 = 64K in size, and u = 10,
which results in a largest possible allocatable block, 210 =
1024K in size. The following shows a possible state of the
system after various memory requests.

Is This Answer Correct ?    5 Yes 3 No

Describe the Buddy system of memory allocation...

Answer / infamous novice

buddy system is a memory allocation method using buddy
crackers! ^_^

Is This Answer Correct ?    3 Yes 14 No

Post New Answer

More Operating Systems General Concepts Interview Questions

How much ram do I have?

0 Answers  


Why paging is used in os?

0 Answers  


What is fcfs?

0 Answers  


What are old chkdsk files?

0 Answers  


What are the various capacities in which a ram is available?

0 Answers  






What are the sub-components of I/O manager in Windows NT?

1 Answers  


Hi All, Can any one post a MS-DOS command/ utility tool, that modifies large size(nGBs) log file into MBs form the begining of log file? I will appreciate if any one give correct answer to this question. Thanks

0 Answers  


Write syntax to set JVM Memory as min-256Mb & max 512Mb?

0 Answers   Sapient,


What is Page-Stealer process?

0 Answers  


When the process is hung...what the immediate solution you will give?

1 Answers   CA,


What does af_inet stand for?

0 Answers  


What is a long term scheduler & short term schedulers?

0 Answers  


Categories