49

问答题 49 /69

简述Malloc实现原理

参考答案

可以基于伙伴系统实现,也可以使用基于链表的实现
• 将所有空闲内存块连成链表,每个节点记录空闲内存块的地址、大小等信息
• 分配内存时,找到大小合适的块,切成两份,一分给用户,一份放回空闲链表
• free时,直接把内存块返回链表
• 解决外部碎片:将能够合并的内存块进行合并