操作系统中的相对地址

时间:2014-05-05 17:13:43

标签: memory-management operating-system

我浏览以下文字

  

程序员首先用一些高级语言编写源代码 - 在这种情况下,C.Next,编译器将foo.c和bar.c源代码文件转换为机器语言,创建对象模块foo .o和bar.o.在代码中,程序员在foo.c中定义了变量X,在bar.c中定义了变量Y.两者都位于各自对象模块中的相对地址100 。对象模块放置在二级存储中,直到用户或其他进程请求为止,此时必须链接模块。

文中提到的这些相对地址是什么?

1 个答案:

答案 0 :(得分:1)

'经济实惠'版本:

嗯,你必须将它们链接起来制作一个可执行的图像。链接器为每个对象模块提供基址,以确保每个模块中的偏移量100指向不同的虚拟地址。它还加载带有标题部分的可执行文件,该标题部分指示OS加载程序如何运行它,例如。代码,数据,堆栈等部分的大小,重定位数据和入口点。