11、使用mmap系统调用为程序的内存空间映射一块chunk_size align 4kB大小的空间 。然后将内存指针返回给用户 。
12、判断是否为第一次调用malloc,若是主分配区,则需要进行一次初始化工作,分配一块大小为(chunk_size + 128KB) align 4KB大小的空间作为初始的heap 。若已经初始化过了,主分配区则调用sbrk()增加heap空间,分主分配区则在top chunk中切割出一个chunk,使之满足分配需求,并将内存指针返回给用户 。
推荐阅读
- 图解希尔排序,超详细非常好理解
- 深入理解 C 语言的 hello world
- JAVA并发之ReentrantLock原理解析
- 如何理解c/c++和php语言的区别
- 如何理解中台?
- C/C++|图文深入理解函数调用的5种约定
- Linux 升级gcc g++ gdb glibc教程
- TCP和UDP的区别,深入理解TCP三次握手和四次挥手的全过程
- 微软在Edge浏览器中更深入整合Office功能
- linux内核--自旋锁的理解