什麼是反向頁表

來源:生活大全幫 2.86W

什麼是反向頁表

反向頁表一般被視為使用正常的系統內存的TLB的片外擴展。與真正的頁表不同,它不需要容納目前所有的映射。

一般意義上,每個進程都有一個相關頁表。該進程所使用的每個頁都在頁表中有一項。這種頁的表示方式比較自然,這是因為進程是通過頁的虛擬地址來引用頁的。操作系統必須將這種引用轉換成物理內存地址。這種方法的缺點之一是每個頁表可能有很多項。這些表可能消耗大量物理內存,卻僅用來跟蹤物理內存是如何使用的。

反向頁表對於每個真正的內存頁或幀才有一個條目。每個條目包含保存在真正內存位置的頁的虛擬地址以及擁有該頁的進程的信息。因此,整個系統只有一個頁表,對每個物理內存的頁只有一條相應的條目。因為系統只有一個頁表,而有多個地址空間映射物理內存,所以反向頁表的條目中通常需要一個地址空間標識符,以確保一個特定進程的一個邏輯頁可以映射到相應的物理幀。

熱門標籤