Linux内存管理(2):memblock

34 篇文章 0 订阅 ¥299.90 ¥99.00

一、memblock分配器初始化

        在内核初始化过程中也需要分配内存,使用的页帧分配器叫memblock(早期的内核版本使用BootMem,新版本内核已不再用)。

       memblock是系统启动过程中的一个中间阶段的内存管理, 负责在系统上电到内核内存管理模型初始化之前这段时间的物理内存分配、预留等功能( memblock 管理的内存为物理地址)

enum memblock_flags {
	MEMBLOCK_NONE		= 0x0,	/* No special request */
    /*在系统运行过程中可以插入和拔出物理内存*/
	MEMBLOCK_HOTPLUG	= 0x1,	/* hotpluggable region*/
    /*表示镜像的区域。将内存数据做二个复制,分别放在主内存和镜像内存中*/
	MEMBLOCK_MIRROR		= 0x2,	/* mirrored region */
    /*表示不添加到内核直接映射区(即线性映射区)*/
	MEMBLOCK_NOMAP		= 0x4,	/* don't add to kernel direct mapping */
	MEMBLOCK_DRIVER_MANAGED = 0x8,	/* always detected via a driver */
};

        memblock 将系统启动时获取的可用内存范围(如从对ARM64来说,从设备树中获取的内存范围)纳入管理,为内核启动阶段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张帅峰_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值