虛擬存儲(chǔ)器是一種在計(jì)算機(jī)內(nèi)存中模擬實(shí)現(xiàn)的存儲(chǔ)技術(shù)。它允許操作系統(tǒng)將進(jìn)程所需的部分?jǐn)?shù)據(jù)和程序存儲(chǔ)在主存儲(chǔ)器中,而其余部分則可以放在二級(jí)存儲(chǔ)設(shè)備上(例如硬盤驅(qū)動(dòng)器),并且動(dòng)態(tài)地根據(jù)進(jìn)程需要進(jìn)行數(shù)據(jù)交換。
1.虛擬存儲(chǔ)器的概念
虛擬存儲(chǔ)器是操作系統(tǒng)提供給應(yīng)用程序的一種抽象視圖。它把每個(gè)進(jìn)程看作是單獨(dú)的地址空間,并提供了一個(gè)從邏輯上連續(xù)的、比物理內(nèi)存更大的地址空間用于該進(jìn)程的程序代碼和數(shù)據(jù)。這些數(shù)據(jù)可能分散在不同的物理存儲(chǔ)介質(zhì)(如硬盤或閃存)上,但對(duì)應(yīng)的虛擬地址空間統(tǒng)一映射到相應(yīng)的物理地址空間。
2.虛擬存儲(chǔ)器的特征
虛擬存儲(chǔ)器具有以下幾個(gè)特點(diǎn):
- 透明性:應(yīng)用程序無(wú)需關(guān)心數(shù)據(jù)存儲(chǔ)在哪里,也不需要對(duì)真實(shí)的物理內(nèi)存進(jìn)行管理操作;
- 虛擬性:操作系統(tǒng)提供的地址空間是虛擬的,即并非真實(shí)存在的物理存儲(chǔ)器;
- 分頁(yè)管理:物理內(nèi)存和二級(jí)存儲(chǔ)設(shè)備被劃分為一個(gè)個(gè)固定大小的頁(yè)面(page),而虛擬地址空間也被劃分為相等的頁(yè)面;
- 數(shù)據(jù)交換:操作系統(tǒng)以一種透明的方式將需要的數(shù)據(jù)從二級(jí)存儲(chǔ)設(shè)備中載入到物理內(nèi)存中,載出時(shí)也同樣如此。
3.虛擬存儲(chǔ)器的作用
虛擬存儲(chǔ)器的主要作用包括:
- 增加內(nèi)存容量:進(jìn)程可以訪問(wèn)比物理內(nèi)存更大的地址空間;
- 簡(jiǎn)化程序編寫:程序員不必再考慮內(nèi)存的物理分布以及與其他進(jìn)程之間的沖突;
- 提高系統(tǒng)吞吐量:系統(tǒng)可以通過(guò)將運(yùn)行中的進(jìn)程所需的部分代碼和數(shù)據(jù)放在物理內(nèi)存中來(lái)提高運(yùn)行速度,而其他進(jìn)程的數(shù)據(jù)則可以暫存在二級(jí)存儲(chǔ)設(shè)備上;
- 實(shí)現(xiàn)多任務(wù)處理:每個(gè)進(jìn)程都有獨(dú)立的虛擬地址空間,使得每個(gè)進(jìn)程看起來(lái)好像獨(dú)占了整個(gè)系統(tǒng)的內(nèi)存,從而實(shí)現(xiàn)多任務(wù)和多進(jìn)程的處理。