伙伴系统

Posted wuweixiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了伙伴系统相关的知识,希望对你有一定的参考价值。

为了解决分区分配带来的碎片问题,引入了伙伴系统:无论已分配分区或空闲分区,其大小均为2的k次幂

伙伴系统:两个大小相同的相邻块合并成一个更大的块时,首地址必须是块(合成后的块)大小的整数倍。

例题:

技术图片

 

对于8KB大小的块,地址224KB相邻的8KB大小的块的首地址是224KB-8 = 216KB,224KB + 8 = 232KB

 

对于216KB:两个块合并,则首地址为216KB,216KB不是16(2 * 8KB)的整数倍

 

对于232KB:两个块合并,则首地址是224KB,224KB是16(2 * 8KB)的整数倍

 

所以其伙伴地址为:232KB

 

以上是关于伙伴系统的主要内容,如果未能解决你的问题,请参考以下文章

伙伴系统

安卓服最新爆料~全新玩法“伙伴系统”即将上线

Linux内存-伙伴系统

伙伴系统

Linux内存分配机制——伙伴系统和SLAB

12 Linux的伙伴系统和SLAB分配器