如何实现一个malloc(转)
2015-03-24 10:08
211 查看
博文链接:http://blog.codinglabs.org/articles/a-malloc-tutorial.html
1 什么是malloc
2 预备知识
2.1 Linux内存管理
2.1.1 虚拟内存地址与物理内存地址
2.1.2 页与地址构成
2.1.3 内存页与磁盘页
2.2 Linux进程级内存管理
2.2.1 内存排布
2.2.2 Heap内存模型
2.2.3 brk与sbrk
2.2.4 资源限制与rlimit
3 实现malloc
3.1 玩具实现
3.2 正式实现
3.2.1 数据结构
3.2.2 寻找合适的block
3.2.3 开辟新的block
3.2.4 分裂block
3.2.5 malloc的实现
3.2.6 calloc的实现
3.2.7 free的实现
3.2.8 realloc的实现
3.3 遗留问题和优化
4 其它参考
1 什么是malloc
2 预备知识
2.1 Linux内存管理
2.1.1 虚拟内存地址与物理内存地址
2.1.2 页与地址构成
2.1.3 内存页与磁盘页
2.2 Linux进程级内存管理
2.2.1 内存排布
2.2.2 Heap内存模型
2.2.3 brk与sbrk
2.2.4 资源限制与rlimit
3 实现malloc
3.1 玩具实现
3.2 正式实现
3.2.1 数据结构
3.2.2 寻找合适的block
3.2.3 开辟新的block
3.2.4 分裂block
3.2.5 malloc的实现
3.2.6 calloc的实现
3.2.7 free的实现
3.2.8 realloc的实现
3.3 遗留问题和优化
4 其它参考