對於不同的體繫結構,Linux採用的四級頁表目錄的大小有所不同:對於i386而言,僅採用二級頁表,即頁上層目錄和頁中層目錄長度為0;對於啟用PAE的i386,採用了三級頁表,即頁上層目錄長度為0;對於64位體繫結構,可以採用三級或四級頁表,具體選擇由硬體決定。 對於沒有啟用物理地址擴展的32位系統, ...
對於不同的體繫結構,Linux採用的四級頁表目錄的大小有所不同:對於i386而言,僅採用二級頁表,即頁上層目錄和頁中層目錄長度為0;對於啟用PAE的i386,採用了三級頁表,即頁上層目錄長度為0;對於64位體繫結構,可以採用三級或四級頁表,具體選擇由硬體決定。
對於沒有啟用物理地址擴展的32位系統,兩級頁表已經足夠了。從本質上說Linux通過使“頁上級目錄”位和“頁中間目錄”位全為0,徹底取消了頁上級目錄和頁中間目錄欄位。不過,頁上級目錄和頁中間目錄在指針序列中的位置被保留,以便同樣的代碼在32位系統和64位系統下都能使用。內核為頁上級目錄和頁中間目錄保留了一個位置,這是通過把它們的頁目錄項數設置為1,並把這兩個目錄項映射到頁全局目錄的一個合適的目錄項而實現的。
啟用了物理地址擴展的32 位系統使用了三級頁表。Linux 的頁全局目錄對應80x86 的頁目錄指針表(PDPT),取消了頁上級目錄,頁中間目錄對應80x86的頁目錄,Linux的頁表對應80x86的頁表。
最終,64位系統使用三級還是四級分頁取決於硬體對線性地址的位的劃分。