malloc内存分配

malloc分三步:

适配、分割、合并。

1、适配

匹配>=请求字节大小的内存块。(至于选哪一个,有策略的)

首次适配。

从上一次适配结束位置开始,接着适配。

最佳适配。

2、分割

如果适配到了,选择切割(切割成几部分,看策略具体情况)

如果没适配到,将空闲链表中的相邻空闲内存合并,都合并完了,要么可以适配,要么不可以适配,如果不可以适配,只能想堆内存申请额外的大内存块了,然后添加到空闲链表中适配切割。

3、合并

扫描二维码关注公众号,回复: 4287047 查看本文章

边界标记技术,允许在常数时间内进行对前面的块合并。

猜你喜欢

转载自www.cnblogs.com/westlife-11358/p/10037056.html