Linux内核中的内存分配
在用户空间,当我们谈论内存分配时,
malloc()几乎是唯一的答案。但当我们潜入Linux内核的深海,会发现内存管理的世界远比想象中复杂和精妙。内核代码对性能、稳定性和硬件交互有着极致的要求,因此它提供了一套多样化的工具箱来应对不同的内存需求。今天,我们将聚焦于内核中最核心的四种内存分配机制:kmalloc、alloc_pages、vmalloc和dma_alloc_coherent。理解它们的区别和底层原理,是每一位内核开发者和系统工程师的必修课。
