3.3 Linux 頁表
Linux頁表有3層。每一層負責保存下一層頁表所在的頁號。每個域記錄在某一層頁表中的偏移量。把一個虛地址翻譯成物理地址時,處理器拿出每個域的內容把它變成頁表中的偏移量,進而讀出下層頁表的所在頁號。這樣重復 3 次直到找到包含虛地址的物理頁號。虛地址的最后一個域,叫做字節偏移量, 被用來在物理頁內找到所需數據。每個運行 Linux 的平台必須提供翻譯宏(Translation macros) 以便內核可以檢索頁表,完成某種操作。這樣,內核不需要知道各平台上頁表記錄的具體格式和它們是怎么被安排的。這就是為什么 Linux 的 Alpha 處理器和Intel x 86 處理器使用一樣的頁表操作代碼, 而Alpha有3層頁表,Intel x86處理器只有2層頁表。