1. 程式人生 > >Windows核心基礎(二):虛擬記憶體空間佈局

Windows核心基礎(二):虛擬記憶體空間佈局

32位Windows作業系統支援32位定址,因此2的32次方就等於4GB,每個程式在執行時都會被對映進4GB空間的記憶體空間,這4GB空間不全是使用者可以使用的,其中0x7fffffff-0xffffffff是2GB的核心空間,這部分用來儲存核心的資料,使用者程式是無法直接訪問的。

程序空間的地址是一個邏輯地址,它首先通過分段機制的段選擇子和偏移地址計算出一個線性地址,再由分頁機制分解線性地址,最終找到實際的實體地址上的資料。

下圖中32位系統的程序虛擬記憶體空間佈局:

This image has an empty alt attribute; its file name is 533a8ac55c7b70b8920f6c9715685e5-996x1024.jpg

64位Windows作業系統的程序虛擬記憶體空間佈局是不一樣的,就不詳細解釋了: