链接目标文件以生成ELF文件,并确定其虚拟地址。 例如,.text的虚拟地址是0x8048000。 当ELF文件将被映射到虚拟空间时,另一个ELF已经被映射到这个地址。 *** 作系统应该做什么? 为什么在映射到虚拟空间之前,可以确定ELF的虚拟地址。
当我从.NET产生一个新的线程时究竟发生了什么?
为什么linux的IPv4堆栈需要随机数字?
无法启动windows 7(32位)与bcdedit /deBUGging选项
在用户空间中实现linux字符驱动程序
有没有办法让Splint或类似的静态检查器与linux内核模块一起工作?
每个进程都有自己的私有虚拟地址空间 – 这就是虚拟的点。 它不必对应于程序实际位于物理RAM中的位置。 所以在不同进程中运行的程序之间没有地址冲突。 它们都可以映射到这个地址,每个地址都在它自己的私有地址空间中。
ELF告诉linux内核它要放置在哪里,如果linux内核接受这个地址,它会把它加载到那里。
例如0不起作用,因为太低: 为什么ELF执行入口点的形式为虚拟地址0x80xxxxx,而不是0x0?
ld使用它配置的链接描述文件决定地址: 在一个ELF文件中,_start的地址是如何确定的?
正如所述的那样,每个进程都有自己的虚拟地址空间。
更确切地说,虚拟地址空间通过分页支持硬件 : x86分页如何工作? 内核设置和使用。
总结以上是内存溢出为你收集整理的为什么ELF的虚拟地址可以在映射到虚拟空间之前确定?全部内容,希望文章能够帮你解决为什么ELF的虚拟地址可以在映射到虚拟空间之前确定?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)