Linux 内核 内存管理物理内存组织结构 ② ( 内存模型 | 平坦内存 | 稀疏内存 | 非连续内存 | 内存管理系统三级结构 | 节点 Node | 区域 Zone | 页 Page )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 内核 内存管理物理内存组织结构 ② ( 内存模型 | 平坦内存 | 稀疏内存 | 非连续内存 | 内存管理系统三级结构 | 节点 Node | 区域 Zone | 页 Page )相关的知识,希望对你有一定的参考价值。

文章目录





一、内存模型



CPU 处理器 的角度出发 , 观察 内存的 " 物理分布 " , 有如下 3 3 3 种内存模型 , Linux 内核针对这 3 3 3 种内存模型进行不同的处理 ;

① 平坦内存 : Flat Memory , 物理地址空间 是 连续的 , 没有 " 内存空洞 " ;

② 稀疏内存 : Space Memory , 物理地址空间 是 非连续 的 , 有 " 内存空洞 " , 该内存模型 支持 内存条的 " 热插拔 " 操作 ;

③ 非连续内存 : Discontiguous Memory , 物理地址空间 是 非连续 的 , 有 " 内存空洞 " ;


内存热插拔支持 : 只有 " 稀疏内存模型 " 支持 内存条 的 热插拔 操作 ;

内存空洞 : 系统的 2 2 2 个物理内存 之间 , 存在 内存空洞 ; 1 1 1 个物理内存 内部也可能存在 内存空洞 ;





二、内存管理系统三级结构



内存管理系统 3 3 3级结构 :

节点 Node ,

区域 Zone ,

页 Page ,

Linux 内核中 , 使用 上述 3 3 3 级结构 描述 和 管理 " 物理内存 " ;

以上是关于Linux 内核 内存管理物理内存组织结构 ② ( 内存模型 | 平坦内存 | 稀疏内存 | 非连续内存 | 内存管理系统三级结构 | 节点 Node | 区域 Zone | 页 Page )的主要内容,如果未能解决你的问题,请参考以下文章

Linux 内核 内存管理物理内存组织结构 ③ ( 内存管理系统三级结构 | 内存节点描述 | 内存节点 pglist_data 结构体 | pglist_data 结构体源码 )

Linux 内核 内存管理伙伴分配器 ② ( 伙伴分配器分配内存流程 )

Linux 内核 内存管理伙伴分配器 ② ( 伙伴分配器分配内存流程 )

Linux 内核 内存管理物理内存组织结构 ⑤ ( 内存区域 zone 类型简介 | 内存区域类型zone_type 枚举源码分析 | zone_type 枚举源码 )

Linux 内核 内存管理内存映射原理 ② ( 内存映射概念 | 文件映射 | 匿名映射 | 内存映射原理 | 分配虚拟内存页 | 产生缺页异常 | 分配物理内存页 | 共享内存 | 进程内存 )

Linux 内核 内存管理物理分配页 ② ( __alloc_pages_nodemask 函数参数分析 | __alloc_pages_nodemask 函数分配物理页流程 )