Virtual memory是在進程間隔離內存併爲每個進程分配自己的地址空間的一種便捷方式。它通過將虛擬地址轉換爲物理地址來工作。虛擬內存相對於直接映射內存的性能影響是什麼?
我已經很熟悉了記憶是如何虛功原理和實現。我不知道的是虛擬內存相對於直接映射內存的性能影響,這不需要翻譯開銷。
請不要說沒有開銷。這顯然是錯誤的,因爲遍歷頁表需要幾次內存訪問。 TLB缺失可能不足以使性能影響可以忽略不計,但是,如果是這種情況,應該有證據。
我也意識到虛擬內存對現代操作系統提供的許多功能的重要性,所以這個問題不是關於虛擬內存是好還是壞(這對大多數用例來說顯然是好事),我純粹要求虛擬內存的性能影響。
我要找的答案是非常類似:虛擬內存在徵收直接映射的x%的開銷,並且這裏是表示紙張。我試圖尋找具有此類結果的論文,但無法找到任何結果。
與您的問題的問題是,任何這種開銷是非線性的,將取決於使用情況。另外,這取決於VM實施的類型。你說的是邏輯內存翻譯還是全虛擬內存開銷? VM開始於20世紀70年代,並在20世紀80年代接管了多用戶系統。所以開銷很低,沒有人會說這件事。 – user3344003
磨機CPU只使用一個單一的全局地址空間,這個地址空間足夠大到64位:http://millcomputing.com/topic/memory/仍然在進程之間進行內存保護,但不需要虛擬地址映射。 – Thilo
@ user3344003我主要是指虛擬到物理地址轉換,因爲在我看來,這是大部分成本都會進來的地方。 –