linux - 加载程序的地址空间中是否加载了 linux 应用程序?

标签 linux memory-management process ld elf

当 ld-linux(Linux 的加载器)加载应用程序时,它会将其 ELF 数据结构加载到内存中,构建一些结构(例如 GOT),并将执行传递到加载应用程序的入口点。

是否将此应用程序的代码和数据加载到加载程序的地址空间中?应用程序代码的执行是否发生在加载程序的地址空间中?

如果不是,ld-linux 使用什么机制将执行传递给加载的指令?

答案(编辑):应用程序的代码被加载到加载程序的地址空间中。应用程序代码和加载程序在同一地址空间上运行。

最佳答案

http://grahamwideman.wordpress.com/2009/02/09/the-linux-loader-and-how-it-finds-libraries/ http://www.tenouk.com/ModuleW.html基本上也有汇编器和链接器。ld-linux 的层次结构(加载器的 linux 在第二个 url 中有很好的解释。

感谢和问候,
好吧

关于linux - 加载程序的地址空间中是否加载了 linux 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18695216/

相关文章:

c - 来自 fork() 的 pid 永远不会传给 parent ,唯一的 child

process - 如何在 Erlang 中 fork/clone 一个进程

linux - Linux 和 Mac OSX 中的 OpenGL 像素缓冲区直接到屏幕

winapi - 谁负责清除图像列表中的内存?

ASP.NET:如何测试服务器内存使用情况?

c - 为什么我的指针数组返回一个 unicode 字符?

macos - 确定流程的架构

linux - 适用于 Suse 的 Ocilib 10.3

Linux/庆典 : How to unquote?

linux - Jenkins 没有标签 Linux