第八十七章:内存分配与碎片
TL;DR
- 内核需要记录页框的占用、回收空闲内存,并处理碎片。
正文
分页常用位图或空闲链表记录页框;连续分配需求则可能使用伙伴系统等按大小拆分、合并的办法。不同大小请求会造成内部或外部碎片,分配器在速度、空间利用率和可合并性间取舍。
内存准备好后,程序还要把数据留下来,并与慢得多的设备交谈。
思考题
固定页大小为何仍会有内部碎片?
小结
- 分配与回收是有限内存上的持续整理。
思考题答案(仅供参考)
一个对象或最后一段数据未必恰好填满整页,剩余部分难以交给别人。
协议
本文采用 CC BY-NC-SA 4.0 协议发布。