邏輯位址空間和實體地址空間

2021-08-20 18:44:46 字數 402 閱讀 6522

位址空間是乙個程序可用於定址記憶體的一套位址集合。

1、程式經過編譯後,每個目標模組都是從0號單元開始編址,稱為該目標模組的相對位址(或邏輯位址)。

2、當鏈結程式將各個模組鏈結成乙個完整的可執行目標程式時,鏈結程式順序依次按各個模組的相對位址構成統一的從0號單元開始編址的邏輯位址空間。

3、使用者程式和程式設計師只需知道邏輯位址,而記憶體管理的具體機制則是完全透明的,它們只有系統程式設計人員才會涉及。

4、不同程序可以有相同的邏輯位址,因為這些相同的邏輯位址可以對映到主存的不同位置。

5、實體地址空間是指記憶體中物理單元的集合,它是位址轉換的最終位址,程序在執行時執行指令和訪問資料都要通過實體地址從主存中訪問。當裝入程式(loader)將可執行**裝入記憶體時,必須通過位址轉換將邏輯位址轉換成實體地址,這個過程稱為位址重定位。

實體地址和邏輯位址的

實體地址就是位址匯流排上提供的20位位址資訊。實體地址 段位址 10h 段內偏移位址。段位址乘以10h是因為段位址當時是取高四位得到的,所以還原後要讓段位址左移4位 10h 10000b 例如 cs 20a8h,ip 2008h,則實體地址為20a8h 10h 2008h 22a88h。我的認識 8...

邏輯位址與實體地址

邏輯位址 logical address 是指由程式產生的與段相關的偏移位址部分。例如,你在進行c語言指標程式設計中,可以讀取指標變數本身值 操作 實際上這個值就是邏輯位址,它是相對於你當前程序資料段的位址,不和絕對實體地址相干。只有在intel實模式下,邏輯位址才和實體地址相等 因為實模式沒有分段...

邏輯位址與實體地址

邏輯位址 logical address 例如,你在進行c語言指標程式設計中,可以讀取指標變數本身值 操作 實際上這個值就是邏輯位址,它是相對於你當前程序資料段的位址,與絕對實體地址無關。只有在intel實模式下,邏輯位址才和實體地址相等 因為實模式沒有分段或分頁機制,cpu不進行自動位址轉換 邏輯...