伙伴系统

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

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

例题:


 

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

 

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

 

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

 

所以其伙伴地址为:232KB

 

posted @ 2020-07-15 18:08  wind_y  阅读(534)  评论(0编辑  收藏  举报