一、Linux的物理地址空间分布的模型
内存模型是从处理器角度看到的物理内存分布,内核管理不同内存模型的方式存在差异。
对于物理地址空间分布的模型,在编译内核时就已经确定使用哪种(linux-6.1/include/asm-generic/memory_module.h)。
1)FLATMEM(平坦物理内存模型)
内存的物理地址空间是连续的,没有空洞。
在这种模型中所有的页面放在全局mem_map数组中,这个模型适用于非NUMA系统的连续或大部分连续的物理内存)。
2)SPARSEMEM(稀疏物理内存模型)
内存的物理地址空间存在空洞,只有这种模型支持内存热插拔。另外这种模型非常适用于物理内存天生都不是连续的N