動態重定位

動態重定位

動態重定位即在程序運行過程中要訪問數據時再進行邏輯地址與物理地址的變換(即在逐條指令執行時完成地址映射。

目錄

正文


動態重定位
動態重定位
一般為了提高效率,此工作由硬體地址映射機制來完成。硬體支持,軟硬體結合完成)硬體上需要一對寄存器的支持。基地址寄存器在這裡稱為重定位寄存器。用戶進程所生成的地址在送交內存之前,都將加上重定位寄存器的值。例如,如果基地址為14000,那麼用戶對位置346的訪問將動態地重定位為位置14346。
程序放在不連續的實際物理空間中,要進行邏輯地址到物理地址的轉換,實現動態重定位一般需要段頁式存儲管理,頁式存儲管理用的不是寄存器,使用的是稱為page table(頁表)的數據結構page table記錄了所有邏輯地址到物理地址的轉換信息,進程切換的時候需要衝洗硬體上的page table 。