关注
请你说说malloc内存管理原理:这里简谈下malloc的思路,最后放一些参考资料。(1)程序运行的时候会产生堆(stack)区和栈(heap)区,还有一个是文件映射区(Memory Mapping Region--mmap),malloc就是处理heap和mmap。(2)既然分为两部分,代表两种不同的场景,鉴于此,专门有对应的函数进行处理,brk()、sbrk()是增加heap的上界brk;mmap()和munmap()管理mmap区(3)C库进一步封装,对外提供malloc和alloc等函数,这就是为什么这些函数名都不知道,因为malloc进行了封装(4)当申请的内存小于128KB,malloc调用sbrk(),sbrk()是C库函数,进一步调用系统调用brk()(5)当申请的内存大于128KB。 malloc调用mmap ()为什么要再度封装,提供malloc等函数呢? brk()、sbrk()、mmap()和munmap()属于底层调用,如果频繁的调用会严重影响系统的性能。所以由glic帮助程序员管理内存,以内存池为基础的内存分配与回收,即使使用free后,内存也不会立即返回给系统,而是在glic中的内存池里,方便用户的下一次请求。 最后分享下资料,网上大部分关于malloc的底层原理都出自一人的文档,淘宝的--glibc内存管理ptmalloc源代码分析.pdf,原始文档 https://gitee.com/ve2102388688/pdf http://luodw.cc/2016/02/17/malloc/ https://www.cnblogs.com/mysky007/p/12349508.html
2
相关推荐
牛客热帖
更多
- 1... 6月18日,我将站上法庭,正式起诉美团。我送出的每一单快件,都是我人生碎片的一部分。我会一直前进,拿回在海外SaaS失去的一切。4.2W
- 2... 研一快手后端开发,一周速通,附一二面面经1.0W
- 3... 25校招 双非硕 拿下大厂🐧9899
- 4... 毕业一年在回到学校的感觉真不一样8369
- 5... 挚文集团-陌陌笔试202506068261
- 6... 主包租房的经验总结!4949
- 7... 上海银行 修改入职协议 不还本科毕业证学位证双证原件 😂4339
- 8... 深入浅出秋招简历4168
- 9... 金山办公测试春招一面_珠海3719
- 10... “实习生没有工资喔”3167
正在热议
更多
# 我的实习收获 #
35405次浏览 531人参与
# 安利/避雷我的专业 #
73677次浏览 515人参与
# 实习吐槽大会 #
39724次浏览 184人参与
# 我在牛爱网找对象 #
186493次浏览 1402人参与
# 晒一晒你的工位 #
87461次浏览 312人参与
# 你后悔选择现在的专业吗 #
81959次浏览 672人参与
# 你觉得专业和学校哪个对薪资影响最大 #
58195次浏览 473人参与
# 求职遇到的搞笑事件 #
113718次浏览 772人参与
# 移动求职进展汇总 #
1709次浏览 17人参与
# 2025牛客秋招季 #
6612次浏览 201人参与
# 机械人与华为的爱恨情仇 #
113431次浏览 938人参与
# 双非能在秋招上岸吗? #
215543次浏览 1150人参与
# 我的租房踩坑经历 #
34687次浏览 339人参与
# 第一份工作应该选高薪还是热爱? #
61774次浏览 562人参与
# 26届秋招投递记录 #
5083次浏览 135人参与
# 我的国央企投递进展 #
43164次浏览 268人参与
# 穿越回高考你还会选现在的专业吗 #
25292次浏览 285人参与
# 牛友们,签完三方你在忙什么? #
95250次浏览 842人参与
# 地方国企笔面经互助 #
30035次浏览 99人参与
# 招银网络求职进展汇总 #
113424次浏览 742人参与