作業系統與硬體
將頁表做成多層(階層式)而非單層,其主要理由為下列何者?
- A因為可以省略不使用範圍的表,節省頁表所佔用的記憶體
- B因為每次位址轉換時要讀取的表變少,TLB未命中的處理變快
- C因為可以讓實體記憶體容量大於虛擬位址空間
查看答案與解析
正確答案:A. 因為可以省略不使用範圍的表,節省頁表所佔用的記憶體
單層頁表不論是否使用,都需要涵蓋虛擬位址空間所有分頁的項目,在64位元環境下表會變得非常龐大。改成多層後,只需為使用中的範圍建立下層的表,沒有使用的範圍則在上層表中將項目設為無效即可,因此只需依程式使用量配置記憶體。相對地,發生TLB未命中時要走訪的表會隨層數增加而變多,速度變慢。這與實體記憶體的大小無關。
- A. 正確。可以省略不使用範圍的表,節省記憶體。
- B. 要走訪的表數反而會隨層數增加。
- C. 與實體記憶體的容量無關。