Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

第八十七章:内存分配与碎片

TL;DR

  • 内核需要记录页框的占用、回收空闲内存,并处理碎片。

正文

  分页常用位图或空闲链表记录页框;连续分配需求则可能使用伙伴系统等按大小拆分、合并的办法。不同大小请求会造成内部或外部碎片,分配器在速度、空间利用率和可合并性间取舍。

  内存准备好后,程序还要把数据留下来,并与慢得多的设备交谈。

思考题

固定页大小为何仍会有内部碎片?

小结

  • 分配与回收是有限内存上的持续整理。

思考题答案(仅供参考)

  一个对象或最后一段数据未必恰好填满整页,剩余部分难以交给别人。

协议

本文采用 CC BY-NC-SA 4.0 协议发布。