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

Linux 在RAMDisk上执行二进制文件是否会将可执行文件重新加载到内存中?,linux,memory,qnx,ramdisk,Linux,Memory,Qnx,Ramdisk,假设我有相同10MB二进制可执行文件的两个副本,A和B 如果我有足够的可用内存并运行/A,我的理解是A将加载到内存中并从那里运行。这将需要大约10MB的RAM才能完成 如果我有足够的可用内存,创建一个RAMDisk,将B复制到RAMDisk,然后从RAMDisk运行/B,我的理解是B将(重新)加载到内存中并从那里运行。对于可执行文件,这将需要大约10MB的RAM,加上RAMDisk使用的内存 这是正确的吗?RAMDisk是否足够聪明,可以说“哦,我的内存中已经有了二进制可执行文件,让我们在适当的

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

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

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

这是正确的吗?RAMDisk是否足够聪明,可以说“哦,我的内存中已经有了二进制可执行文件,让我们在适当的位置运行它吧?”即使是这样,加载程序难道不需要发挥它的魔力来运行它吗


我正在使用QNX并运行二进制文件,但我希望能为任何*Nix系统提供答案

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

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