标签:mic free http sorted sys end 调用 位置 链表
最近正在学习linux下堆的管理机制,收集了书籍和网络上的资料,以自己的理解做了整理,做个记录。如果有什么不对的地方欢迎指出!
头文件:#include<unistd.h>
chunk是glibc管理内存的基本单元。主要分为以下几类:
chunk = chunk header + user data,malloc返回给用户的其实是user data指针,具体如下图:
当alloced chunk被释放后,会根据大小放入bin或者合并到top chunk 中去。bin的主要作用时加快分配速度,通过链表方式(chunk中的fd和bk指针)进行管理。主要有以下几种,顾名思义:
fastbinsY:这是一个bin数组,里面有NFASTBINS个fast bin
bins:也是一个bin数组,一共有126个bin,按顺序分别是:
看不清楚可以保存下来放大。
标签:mic free http sorted sys end 调用 位置 链表
原文地址:https://www.cnblogs.com/unr4v31/p/14446412.html