Linux当中有关内存管理的概念
Posted 想文艺一点的程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux当中有关内存管理的概念相关的知识,希望对你有一定的参考价值。
在linux内存管理中什么是page,zone,node,页帧,区域,节点。
实际上Linux内存管理只是一套机制而已,它是对于DRAM分配的一套机制。
page,zone,node是用来形容linux这套机制的名词。
页帧,区域,节点,是用来形容DRAM的名词。
page对应页帧
zone对应区域
node对应节点
linux将内存(DRAM)分为一个一个的小块来管理,这些小块被称为页帧,管理这些小块对应结构体称为page。同样的linux也会将内存(DRAM)分为一个个大块来管理,这些大块被称为区域,管理这些大块的结构体称为zone。同样linux也会将内存(DRAM)分为一个个的更大的块,这些更大的块被称为节点,管理这些更大块的结构体称为node。
曲哥:
暂时可以这么理解,有一点不是将dram,而是将虚拟地址空间,虚拟地址空间到dram物理地址是要建立页表映射的,而且涉及磁盘swap分区话,根本就不在dram。
不活跃lru链表尾的失去二次机会算法标志位的页换出到swap,就根本不在dram
郝哥:
可以这么理解,先研究page以及基于page的二次分配这个算基础知识。至于zone和node则是为了解决更深入的问题,算是进阶知识。
曲哥:
先总体上各个部分过一遍最好,大概知道各部分之前的联系,一个struct page里边涉及了很多部分,会牵扯进进程,会牵扯进文件系统,内存 进程 中断 文件系统,大概过一遍,在去深入
以上是关于Linux当中有关内存管理的概念的主要内容,如果未能解决你的问题,请参考以下文章