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