动态重定位

更新时间:2024-05-21 17:01

动态重定位即在程序运行过程中要访问数据时再进行逻辑地址物理地址的变换(即在逐条指令执行时完成地址映射

一般为了提高效率,此工作由硬件地址映射机制来完成。(硬件支持,软硬件结合完成) 硬件上需要一对寄存器的支持。基地址寄存器在这里称为重定位寄存器。用户进程所生成的地址在送交内存之前,都将加上重定位寄存器的值。例如,如果基地址为14000,那么用户对位置346的访问将动态地重定位为位置14346。

程序放在不连续的实际物理空间中,要进行逻辑地址到物理地址的转换,实现动态重定位一般需要段页式存储管理,页式存储管理用的不是寄存器,使用的是称为page table(页表)的数据结构page table记录了所有逻辑地址到物理地址的转换信息,进程切换的时候需要冲洗硬件上的page table 。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}