2015-10-14 122 views
1

在線閱讀似乎對'虛擬內存'一詞有些混淆。它似乎描述了兩個概念,一個是每個進程都有自己的虛擬地址空間,另一個是能夠分頁到次要驅動器的想法。我假設幾乎所有新操作系統都實現了「兩者」。虛擬地址空間和尋呼

我的問題是,這兩個概念是否必須一起實施?在網上尋找信息時,他們似乎總是一起提到,但是有可能沒有其他信息?

例如,我知道我可以在我的系統上禁用交換文件,因此每個進程仍具有自己的虛擬地址空間,並且仍在實現虛擬內存,但不會分頁到輔助驅動器。

從理論上講,並不是說會發生這種情況,但是您可以實現一個系統,該系統使用分頁而不是每個進程的虛擬地址空間,從技術上講,這仍然是使用虛擬內存?

當我們談論'虛擬記憶'時,我們具體談論哪個概念,還是兩者兼而有之?

任何幫助清理我的困惑,將不勝感激,謝謝。

回答

0

條款邏輯記憶虛擬內存平時一直conflated.In葉奧爾德天,這不是太大的問題,因爲兩人來到手牽手。現在,對於大內存系統,我們可能會看到邏輯內存停留和虛擬內存消失。

邏輯內存是將物理內存重新映射到線性地址空間。虛擬內存是使用磁盤存儲模擬物理內存。

完全有可能讓系統在沒有虛擬內存的情況下實現邏輯內存。但是,幾乎所有主流操作系統(包括Linux和Windoze)都是基於磁盤的虛擬內存系統。無法簡單地通過關閉頁面錯誤處理和刪除頁面文件來將它們轉換爲非虛擬內存。

如果我正在運行M $,我將開發一個Windoze替代品,它專爲大容量內存而設計,無需磁盤備份。

+0

謝謝。正如你所說,這兩者似乎並行,但如果你要從頭開始設計一個新系統,兩者都沒有實現?你說我們很可能會看到一個仍然使用邏輯內存和虛擬內存的系統,但如果有人想(而不是這種情況會發生),他們可以實現一個不使用邏輯內存但是使用虛擬內存的系統記憶?沒有一個'規則',這意味着兩者都必須被使用,如果系統設計者想要,你可以單獨使用其中一個? – RJSmith92

+1

我在說我認爲我們將來會看到使用邏輯內存而不是虛擬內存的系統。沒有邏輯內存的虛擬內存是沒有意義的。 – user3344003

+0

我明白這一點,並且知道它永遠不會發生,但是'通過使用磁盤存儲模擬物理內存'。聽起來不像是需要邏輯內存。這似乎是一個完全不同的概念,恰好適合於邏輯內存,這就是爲什麼它們攜手共進的原因。在理論上,我的問題是,在沒有系統使用邏輯內存的情況下,可以實現用RAM模擬RAM的想法,沒有「規則」表明這個概念需要系統使用邏輯內存來工作? – RJSmith92