Talk:Buddy memory allocation

From Wikipedia, the free encyclopedia

This article is within the scope of Computing WikiProject, an attempt to build a comprehensive and detailed guide to computers and computing. If you would like to participate, you can edit the article attached to this page, or visit the project page, where you can join the project and/or contribute to the discussion.
??? This article has not yet received a rating on the quality scale.
??? This article has not yet received an rating on the importance scale.

"Compared to the memory allocation techniques (such as paging) that modern operating systems such as Microsoft Windows and Linux use, the buddy memory allocation is relatively easy to implement, and does not have the hardware requirement of a memory management unit (MMU)."

The article suggests that Linux doesn't use the buddy system, although all papers and books discussing Linux memory allocation suggest otherwise. For example, a few sources: [1] [2] Even if the author didn't want to imply that buddy algorithm is not used in Linux, in my opinion the sentence has an awkward construction that suggests this.

Also, paging isn't a memory allocation technique.

"This method of freeing memory is rather efficient, as compaction is done relatively quickly, with the maximal number of compactions required equal to 2u / 2l (i.e. 2u-l). "

I think this estimation isn't correct. The correct one is log2(U)/log2(I) (i.e. log2(U-I).

For example, if U equals 8 and I equals 1, we have to do maximal number of compactions 3. If we use actual formula in the article we get 27 what is obviously not correct. Thank you. 89.31.88.159 (talk) 09:13, 16 March 2008 (UTC)