gpt4 book ai didi

linux - 在 RAMDisk 上执行二进制文件是否会将可执行文件重新加载到内存中?

转载 作者:太空宇宙 更新时间:2023-11-04 11:09:06 29 4
gpt4 key购买 nike

假设我有两个相同的 10MB 二进制可执行文件副本,AB

如果我有足够的可用内存并运行 ./A,我的理解是 A 将被加载到内存中并从那里运行。这将需要大约 10MB 的 RAM 才能完成。

如果我有足够的可用内存,创建一个 RAMDisk,将 B 复制到 RAMDisk,然后从 RAMDisk 运行 ./B,我的理解是 B 将被(重新)加载到内存中并从那里运行。这将需要大约 10MB 的 RAM 用于可执行文件,加上用于 RAMDisk 的内存。

这是正确的吗? RAMDisk 是否聪明到可以说“哦,我已经在内存中有了那个二进制可执行文件,让我们就地运行它吧?”即使是这样,加载程序难道不需要施展魔法来运行它吗?

我正在使用 QNX 并运行 ELF without COFF二进制文件,但我很感激任何 *Nix 系统的答案。

最佳答案

我真的希望它能被加载,典型的 ELF 二进制文件实际上不是“execute in place”格式。

有些事情你需要做,比如重新定位任何与位置无关的代码,当然还有动态库加载,RAM 磁盘上的文件系统对此一无所知。

关于linux - 在 RAMDisk 上执行二进制文件是否会将可执行文件重新加载到内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24017179/

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