複製鏈接
請複製以下鏈接發送給好友

重定位

鎖定
重定位就是把程序的邏輯地址空間變換成內存中的實際物理地址空間的過程。它是實現多道程序在內存中同時運行的基礎。重定位有兩種,分別是動態重定位靜態重定位
中文名
重定位
分    類
靜態重定位、動態重定位
定    義
把程序的邏輯地址空間變換成內存中的實際物理地址空間的過程

目錄

重定位分類

1、靜態重定位:即在程序裝入內存的過程中完成,是指在程序開始運行前,程序中的各個地址有關的項均已完成重定位,地址變換通常是在裝入時一次完成的,以後不再改變,故稱為靜態重定位。
2、動態重定位:它不是在程序裝入內存時完成的,而是CPU每次訪問內存時 由動態地址變換機構(硬件)自動進行把相對地址轉換絕對地址。動態重定位需要軟件和硬件相互配合完成。

重定位時機

邏輯地址空間重定位到物理地址空間的時機有三種:
1、程序編譯連接時。
2、程序裝入內存時。
3、程序執行時。

重定位擴展閲讀

重定位是由操作系統安排的。
裝入程序前,系統會計算未使用的內存,然後將程序裝入,並記下開始地址。在執行有相對地址的指令時,會將所有的地址加個剛才記下的開始地址,就叫重定位。
重定位與EXE文件無關,它是程序裝入時的一種方式。利用重定位可提高內存空間使用率