gpt4 book ai didi

linux - linux引导期间的内存分配?

转载 作者:IT王子 更新时间:2023-10-29 00:57:57 24 4
gpt4 key购买 nike

我已尝试在谷歌和本网站上搜索此主题,但找不到合适的答案。

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

  1. 据我所知,有一种方法可以创建包含对“alloc_bootmem”调用的驱动程序,然后将该驱动程序直接编译到内核中。

  2. 另一种方法是在 Linux 内核源代码的某处添加“alloc_bootmem”。

  3. 我认为存在的最后一种方法是创建一个类似 boot.rc 的设置文件?(不确定)以便在引导 Linux 期间保留我想要分配的内存。

如果有明确的方法或链接可以回答这个问题,我真的很感激大家的帮助。基本问题是“我应该在哪里调用“alloc_bootmem”以便它在引导期间工作?”

谢谢,沙里尔

最佳答案

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

有关启动内存分配的更多信息可以在这里找到:

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

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

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

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

关于linux - linux引导期间的内存分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18610856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com