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 函数分配物理页流程 )