比主記憶體容量大,可以隨機訪問的虛擬位址空間。虛擬記憶體的概念是1961年由英國曼徹斯特大學提出,20世紀70年代開始應用於大中型電腦系統。現在已經普及到一般電腦系統中。

  虛擬記憶體由主記憶體與聯機工作的外部記憶體組成。這種記憶體的存儲容量很大,速度與主記憶體接近,單位元存儲容量的價格與外部記憶體相當,並且能像主記憶體一樣採用隨機訪問方式工作。

  在構成虛擬記憶體時,首先定義一個比主存存儲器大得多的虛擬地址空間,每個用戶都可以使用這個很大的虛擬地址空間來編寫程序。在程序裝入和執行過程中,把將要執行的程序和數據裝入到速度較高的主存儲器中,把已經執行過的和較長時間內不執行的程序和數據裝入到速度低的外部存儲器中。隻要每次訪問虛擬存儲器時,絕大部分指令和數據都能在主存儲器中訪問到,即能在主存儲器命中,那麼這個虛擬存儲器的實際工作速度就與主存儲器十分接近。主存儲器的命中率已經能夠達到99.999 9%,即不命中率小於百萬分之一。當不命中時,把包括要訪問的指令和數據在內的一大塊程序(稱為段或頁,頁的大小一般在4kB左右)從外部存儲器中調入主存儲器。這時,如果主存儲器還有空閑位置,則可以直接裝入;如果主存儲器已經裝滿,需要根據事先確定的替換算法,把將來不再執行,或預計較長一段時間不執行的程序和數據從主存儲器淘汰掉,騰出主存儲器空間,裝入將要執行的程序。

  根據不同的地址轉換方法,虛擬存儲器有3種類型:①段式虛擬存儲器。虛擬地址空間和主存地址空間都按照程序段的大小來劃分,在程序運行過程中,通過段表把虛擬地址轉換成主存地址。因此,程序模塊性好,動態鏈接和調度比較容易,便於程序、數據的共享和信息保護。缺點是地址轉換花費時間較長,主存儲器的利用率較低,對外部存儲器的管理比較困難。②頁式虛擬存儲器。虛擬地址空間和主存地址空間都按同樣大小分頁,地址映射和變換速度快,外部存儲器容易管理。缺點是程序的模塊化性能不好。③段頁式虛擬存儲器。虛擬地址空間和主存地址空間先分段,在段內再分頁。同時具有段式虛擬存儲器和頁式虛擬存儲器的主要優點,但是,實現難度也比前兩種大。