Linux 在RAMDisk上执行二进制文件是否会将可执行文件重新加载到内存中?
假设我有相同10MB二进制可执行文件的两个副本,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是否足够聪明,可以说“哦,我的内存中已经有了二进制可执行文件,让我们在适当的
A
和B
如果我有足够的可用内存并运行/A
,我的理解是A
将加载到内存中并从那里运行。这将需要大约10MB的RAM才能完成
如果我有足够的可用内存,创建一个RAMDisk,将B
复制到RAMDisk,然后从RAMDisk运行/B
,我的理解是B
将(重新)加载到内存中并从那里运行。对于可执行文件,这将需要大约10MB的RAM,加上RAMDisk使用的内存
这是正确的吗?RAMDisk是否足够聪明,可以说“哦,我的内存中已经有了二进制可执行文件,让我们在适当的位置运行它吧?”即使是这样,加载程序难道不需要发挥它的魔力来运行它吗
我正在使用QNX并运行二进制文件,但我希望能为任何*Nix系统提供答案 我真的希望加载它,典型的ELF二进制文件实际上不是“”格式 您需要做一些事情,比如重新定位任何位置无关的代码,当然还有动态库加载,而RAM磁盘上的文件系统对此一无所知