📜  地址绑定及其类型

📅  最后修改于: 2021-08-25 12:20:50             🧑  作者: Mango

在本文中,我们将通过一个示例及其地址类型(如编译时间,加载时间和执行时间地址绑定)来介绍地址绑定。让我们一一讨论。

地址绑定:
程序指令和数据与实际物理内存位置的关联称为地址绑定。让我们考虑下面给出的以下示例,以便更好地理解。

考虑程序P1具有指令集,使得I1,I2,I3,I4和程序计数器值分别是10、20、30、40。

Program P1
I1 --> 10 
I2 --> 20 
I3 --> 30 
I4 --> 40

Program Counter = 10, 20, 30, 40

地址绑定的类型:

地址绑定分为以下三种类型。

  1. 编译时地址绑定
  2. 加载时间地址绑定
  3. 执行时间地址绑定

编译时地址绑定:

  • 如果编译器负责执行地址绑定,则称为编译时地址绑定。
  • 它将在将程序加载到内存之前完成。
  • 编译器需要与OS内存管理器进行交互以执行编译时地址绑定。

加载时间地址绑定:

  • 将程序加载到内存后即可完成。
  • 这种类型的地址绑定将由OS内存管理器(即加载程序)完成。

执行时间或动态地址绑定:

  • 即使将程序加载到内存中,也会被推迟。
  • 程序将一直在更改内存中的位置,直到执行程序为止。
  • 程序执行时由处理器完成的地址绑定的动态类型。

笔记 :
大多数操作系统实际上都实现了动态加载,动态链接,动态地址绑定。例如– Windows,Linux,Unix都是流行的操作系统。