伙伴系统

Linux内存分配——伙伴系统
目的:最大限度的降低内存的碎片化。
原理:
1.将内存块分为了11个连续的页框块(1,2,4,8….512,1024),其中每一个页框块中用链表将内存块对应内存大小的块进行链接。
2.若需要一块256大小的内存块,则从对应的256链表中查找空余的内存块,若有则分配。否则查找512等等。
3.若在256中未找到空余内存块,在512中查找到空余的内存块。则将512分成两部分,一部分进行分配,另一部分则插入256链表中。
4.内存的释放过程与分配过程相反。在分配过程中由大块分解而成的小块中没有被分配的块将一直等着被分配的块被释放,从而和其合并。最终相当于没有划分小块。

总结:伙伴系统在分配和释放的过程中执行互逆的过程,其将会极大力度的抵消碎片的产生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值