内核之内存管理
文章平均质量分 58
uestc-leon
我想做一个强者
展开
-
node与zone
node内核使用结构体pglist_data ,管理node中的内存资源所有node的pglist_data结构地址都放在数组node_datastruct pglist_data *node_data[MAX_NUMNODES];//64#define MAX_NUMNODES (1 << CONFIG_NODES_SHIFT)node中的内存资源,被划分成若干zone ZONE_DMA原创 2017-06-22 15:15:19 · 393 阅读 · 0 评论 -
存储器的几种体系结构
SMP:共享存储型多处理机(Shared Memory MulptiProcessors)共享存储型多处理机有三种模型:均匀存储器存取(Uniform-Memory-Access,UMA)模型 非均匀存储器存取(Non uniform-Memory-Access,NUMA)模型 只用高速缓存的存储器结构(Cache-Only MemoryArchitecture,COMA)模型UMA:物原创 2017-06-13 17:28:50 · 1913 阅读 · 0 评论 -
内存探测
要进行物理内存管理,必须要弄清当前系统的内存容量、地址范围、内存类型等信息。进入保护模式后,内核对内存信息进行了若干加工处理。 结构体memblock的全局实例memblock保存了内存region信息struct memblock { phys_addr_t current_limit;//内存最大容量 struct memblock_type memory; struc原创 2017-06-13 17:42:35 · 344 阅读 · 0 评论 -
页框page
物理内存被划分成固定大小的块,称为页框内核以页框为基本单位管理物理内存。内核为每个页框都建立了一个page结构,使用struct page结构体描述一个页框。page采用了元数据与数据分离的方案page结构并不存放在其所描述的页框内专门从内存中分配了若干空间,存储所有页框的page结构从线性地址空间角度,所有page结构都依页框号依次存放在vmemmap开始的地方在2.6的内核版本中,原创 2017-06-13 20:00:36 · 4342 阅读 · 0 评论 -
判断某个页框pfn是否有效(section和root)
前言在一些系统中,物理地址空间存在许多的空洞——无效区域 内核需要管理有效区域,只为或尽量只为有效区域中的页框建立page结构,避免物理内存的浪费如何管理有效区域?以页框为粒度?如位向量、………… 空间复杂度同页框(无效+有效)个数线性相关,扩展性差以若干长度不等的有效或空洞区域为粒度?如线段树、………… 时间复杂度差,和有效区域个数成log关系Linux内核以section为粒度时间和原创 2017-06-13 22:03:01 · 932 阅读 · 0 评论