深入Linux内核架构之内存管理(2)

本文介绍了Linux内存管理中的分配阶概念及不同内存模型:CONFIG_FLATMEM、CONFIG_CONTIGMEM和CONFIG_SPARSEMEM。通过实例解释了分配阶如何决定内存页的数量,并详细探讨了各种内存模型的特点及其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、分配阶 allocation order ,表示内存区中页的数目取以2为底的对数。

举例来看,阶0的分配由一个页面组成,阶1的分配包括2^1=2个页,阶2的分配包括2^2=4个页,以此类推。

2、Linux内存模型有三种:CONFIG_FLATMEM ,CONFIG_DISCONTICMEM , CONFIG_SPARSEMEM

内存模型(memory model),针对物理内存的分布。

(一)CONFIG_FLATMEM,访问物理内存的时候,物理地址空间以连续的方式进行组织,可以有小的缺口。

(二)CONFIG_CONTIGMEM,cpu在访问物理内存的时候,其他地址空间有一些空洞,不连续。可以将discontic看做是flat的扩展。

(三)CONFIG_SPARSEMEM,为了支持hot_plug内存热插拔的特性。热插拔导致了一个node上的内存可能变得更加“洗漱”;


其实,我觉得,我理解的不是很好,希望后期看到具体的代码,再来修改填充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值