位址空間是乙個程序可用於定址記憶體的一套位址集合。
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不進行自動位址轉換 邏輯...