加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux启动期间的内存分配?

发布时间:2020-12-14 01:55:17 所属栏目:Linux 来源:网络整理
导读:我试图在谷歌和这个网站上搜索这个主题,但我找不到合适的答案. 我试图在Linux启动过程中在一个设置的物理地址上分配一个大的连续内存块(几MB).但我仍然不清楚我应该在哪里放置“alloc_bootmem”函数.我在ARM处理器上运行Linux. AFAIK,有一种方法可以创建一个
我试图在谷歌和这个网站上搜索这个主题,但我找不到合适的答案.

我试图在Linux启动过程中在一个设置的物理地址上分配一个大的连续内存块(几MB).但我仍然不清楚我应该在哪里放置“alloc_bootmem”函数.我在ARM处理器上运行Linux.

> AFAIK,有一种方法可以创建一个包含对“alloc_bootmem”的调用的驱动程序,然后将该驱动程序直接编译到内核中.
>另一种方法是在Linux内核源代码中的某处添加“alloc_bootmem”.
>我认为存在的最后一种方法是创建一个像boot.rc这样的设置文件?(不确定),以便在启动时Linux将保留我想要分配的内存.

如果有一个明确的方式或链接到这个问题的答案,我真的很感激大家的帮助.基本问题是“我应该在哪里调用”alloc_bootmem“所以它在启动时会起作用吗?”

谢谢,
Shahril

解决方法

看看: http://lwn.net/Kernel/LDD3/第8章它解释了早期启动阶段的内存分配.

有关引导内存分配的更多信息,请访问:

https://www.kernel.org/doc/gorman/html/understand/understand022.html

此功能用于在系统启动期间分配大内存块,并使用物理内存而不是虚拟内存. MMU启动并运行后,无法访问内存AFAIK

如果你正在寻找一个大的继续内存分配你应该使用不同的分配器看看:

http://lwn.net/Articles/396702/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读