一般为了提高效率,此工作由硬件地址映射机制来完成。(硬件支持,软硬件结合完成) 硬件上需要一对寄存器的支持。基地址寄存器在这里称为重定位寄存器。用户进程所生成的地址在送交内存之前,都将加上重定位寄存器的值。例如,如果基地址为14000,那么用户对位置346的访问将动态地重定位为位置14346。
程序放在不连续的实际物理空间中,要进行逻辑地址到物理地址的转换,实现动态重定位一般需要段页式存储管理,页式存储管理用的不是寄存器,使用的是称为page table(页表)的数据结构page table记录了所有逻辑地址到物理地址的转换信息,进程切换的时候需要冲洗硬件上的page table 。