2.1.2 内核内存分配策略 在 Linux 内核的浩瀚内存宇宙中,如果说物理内存是大地,页表是地图,那么内核内存分配策略就是那支永不疲倦的工兵部队——它不生产内存,却决定每一块内存如何被发现、切割、标记、交付与回收。它不是抽象的理论模型,而是嵌入在 目录下数千行 C 代码中的精密机械: 的一次调用,背后是 slab 着色、伙伴系统唤醒、per-CPU 缓存穿透; 的一页映射,牵动着 vmaparea 链表重组、页表级联更新、TLB 刷新指令发射;而一个 的返回,早已在编译期就完成了对象对齐计算、 偏移预置、甚至 的常量折叠优化。 这绝非“调用 API 即可”的黑箱。真正的掌控力,始于理解——为什么 可能比 快一个数量级?为什么 分配的地址永远不能用于 DMA?