虛擬內存I:問題[LWN.net] http://lwn.net/Articles/75174/3G/1G虛擬分區的優勢是什麼? 32位Linux內核
特別,硬件的地址翻譯緩衝器可以在內核和用戶空間之間共享。
我完全對此感到困惑。爲什麼他們可以在VM分裂時共享TLB?我知道在某些CPU中有頁全局位
指示TLB條目對於不同的進程是共同的,不需要刷新。
TLB和vm split 3G/1G之間的關係是什麼?請詳細評論。提前致謝。
更新:爲什麼不使用頁全局位來指示TLB條目被操作系統(內核空間)使用?如果是這樣,爲什麼仍然需要拆分VM空間?例如:TLB中的兩個條目(虛擬線程地址相同),但其中一個全局位已設置。 ?在上下文切換時,只需刷新全局位未設置的條目即可。這可能嗎?
Update2:我檢查了intel-ia-32體系結構軟件開發人員手冊,發現在TLB條目中沒有全局位(存在於PDE和PTE中)。但是當上下文切換時,CPU如何確定TLB條目是全局位還是未設置?
@sarnod幾乎可以理解,但仍有一些困惑。請參閱更新。謝謝 – louxiu 2012-01-04 04:47:55