0

可重定位可执行文件的用途是什么,它是如何生成的以及如何使用的?

进程内存映射重新映射是什么意思?

如果有人可以向我解释嵌入式系统,那就太好了

在此先感谢-Das

4

2 回答 2

2

嵌入式系统可重定位映像所需的关键思想是:

  • 无论跳转或调用指令发生在何处,都应将其编码为相对地址而不是绝对地址。例如,在 x86 中,jmp操作码可以是:
    • E9, 即, 或jmp rel32
    • EA,即。jmp ptr32

您必须以这种方式编码的原因与嵌入式系统特别相关。相比之下,对于嵌入式系统,操作系统有一个图像加载器,它将可执行文件放在内存中并为执行做准备。映像加载器执行的部分准备工作包括根据可执行文件在内存中的重定位来重写任何绝对地址。正是这种操作系统设施导致可执行映像中出现“重定位表”。如果没有操作系统工具来解析和操作这些表,就不会发生重定位。

在嵌入式系统设置中,通常的方法不是实现重新映射绝对地址的操作系统工具,而是完全避免使用绝对地址。

于 2009-10-19T20:55:04.403 回答
1

可重定位可执行文件有什么用?

看看这里:可重定位的可执行文件

它是如何使用的?

取决于语言

进程内存映射重新映射是什么意思?

在本文档中查看所有内容:多任务处理

一个建议,看看一些书和谷歌。;-)

于 2009-10-19T19:56:29.270 回答