为什么ELF的虚拟地址可以在映射到虚拟空间之前确定?

为什么ELF的虚拟地址可以在映射到虚拟空间之前确定?,第1张

概述为什么ELF的虚拟地址可以在映射虚拟空间之前确定?

链接目标文件以生成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的虚拟地址可以在映射到虚拟空间之前确定?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1271619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存