📜  地址绑定及其类型

📅  最后修改于: 2021-09-27 06:20:58             🧑  作者: 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. 执行时间地址绑定

编译时地址绑定:

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

加载时间地址绑定:

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

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

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

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