虛擬記憶體是一種儲存方案,為使用者提供了一個擁有非常大的主記憶體的幻覺。 這是通過將輔助儲存器的一部分作為主記憶體儲器來完成的。
在這種方案中,使用者可以載入比可用主記憶體更大的進程,因為存在記憶體可用於載入進程的錯覺。
作業系統不是在主記憶體中載入一個大進程,而是在主記憶體中載入多個進程的不同部分。
通過這樣做,多程式的程度將會增加,因此CPU利用率也會增加。
在現代語言中,虛擬記憶體近來變得非常普遍。 在這種方案中,無論何時需要將一些頁面載入到主記憶體儲器中用於執行,並且儲存器對於那些許多頁面不可用,那麼在這種情況下,而不是停止頁面進入主記憶體儲器,OS搜尋 最近最少使用的RAM區域或未被參照的RAM區域,並將其複製到輔助儲存器中以為主記憶體儲器中的新頁面留出空間。
由於所有這些過程都是自動發生的,因此它使電腦感覺像是擁有無限的RAM。
按需分頁(Demand Paging)是虛擬記憶體管理的一種流行方法。 在需求分頁中,最少使用的進程頁面儲存在輔助儲存器中。
當需求發生或發生頁面錯誤時,頁面會被複製到主記憶體儲器。 有各種頁面替換演算法用於確定將被替換的頁面。 稍後我們將詳細討論它們。
假設2個進程,P1和P2,每個包含4個頁面。 每個頁面大小是1 KB。 主記憶體儲器包含8個每個1 KB的影格。 作業系統駐留在前兩個分割區中。 在第三個分割區中,P1的第1頁被儲存,而其他影格也被顯示為在主記憶體儲器中填充了不同的進程頁面。
兩個頁面的頁表都是1 KB大小,因此每個頁面可以放在一個框架中。 這兩個進程的頁表包含影象中也顯示的各種資訊。
CPU包含一個暫存器,其中包含頁表的基址,在P1的情況下為5,在P2的情況下為7。 當涉及存取實際的相應條目時,該頁表基地址將被新增到邏輯地址的頁碼。
虛擬記憶體的優點
虛擬記憶體的缺點