简述malloc的实现原理

  1. 可以基于伙伴系统实现,也可以使用基于链表的实现。
  2. 将所有的空闲内存块连成链表,每个节点记录空闲内存卡的地址、大小等信息。
  3. 分配内存时,找到大小合适的块,将该内存块一分为二(一块的大小与用户请求的大小相等,另一块的大小就是剩下的字节)
  4. free时,直接把内存块返回链表
  5. 如果用户申请大的内存,空闲链表上没有找到合适的内存块,会检查各个内存片段,将其合并成较大的内存块。

猜你喜欢

转载自blog.csdn.net/u014571489/article/details/84552264
今日推荐