动态地址重定位

「动态重定位」是一种地址重定位,在程序执行时由系统硬件完成从逻辑地址物理地址的转换。系统中设置了重定位寄存器。

静态地址重定位在加载的时候就重定位不同,动态地址重定位是由硬件在执行时完成的,程序中不执行的程序就不做地址映射的工作,这样节省了 CPU 的时间。

重定位寄存器的内容由操作系统特权指令来设置,比较灵活。实现动态地址映射必须有硬件的支持,并有一定的执行时间延迟。现代计算机系统中都采用动态地址映射技术。

动态地址映射技术能满足以下目标:

  • 具有给一个用户程序任意分配内存区的能力;
  • 可实现虚拟存储;
  • 具有重新分配的能力;
  • 对于一个用户程序,可以分配到多个不同的存储区。