概念
虛擬存儲擴展是指利用虛擬存儲技術來實現從邏輯上擴充記憶體容量的。虛擬存儲技術是存儲管理技術與虛擬技術相結合的產物。按照結合方法可劃分為虛擬分頁管理和虛擬分段管理兩種形式。
虛擬存儲技術將提供給用戶一個超出記憶體實際尺寸的地址空間。如果說普通存儲管理系統力求存儲器的利用率達到100%的話,那么虛擬存儲技術(從邏輯上說)達到的利用率比100%還要高。
虛擬存儲器技術需要以外存作為物質基礎,一個海量的外存是程式和數據的後援存儲空間。從單一進程來看,其程式和數據可能達到的最大長度是處理器的地址匯流排所能表示的地址空間長度,而與實際的物理存儲器尺寸無關。也就是說,一個程式使用的虛擬存儲器,其地址空間是地址匯流排所能表示的邏輯空間。但是由於系統可能採用多道程式並發運行機制,因此系統所提供的虛擬存儲器是一個多重虛擬存儲器(Multi Virtual Memory),它的尺寸是以整個外存空間為基礎的。
特徵
虛擬存儲器最基本的特徵是離散性,在此基礎上又形成了多次性及交換性特徵。表現出來的最重要特徵是虛擬性。
(1)離散性。是指在記憶體分配時採用離散分配方式,這是其他特徵的基礎,沒有離散性,就不可能實現虛擬存儲器。
(2)多次性。是指一個作業被分成多次地調入記憶體運行,亦即在作業運行時沒有必要將其全部裝入,只須將當前要運行的那部分程式和數據裝入即可,以後運行到哪一部分時再將它調入,多次性是虛擬存儲器最重要的特徵,任何其他的存儲管理方式都不具有這一特徵。
(3)交換性。是指允許在作業運行過程中換進、換出,亦即,在進程運行期間,允許將那些暫時不使用的程式和數據,從記憶體調至外存的交換區(換出),待以後需要時再將它們從外存調至記憶體(換入);還允許將暫時不運行的進程調至外存,待它們又具備運行條件時再調入記憶體。換進、換出能有效地提高記憶體利用率。
(4)虛擬性。是指能從邏輯上擴充記憶體容量,這是虛擬存儲器表現出來的最重要特徵。
實現方式
虛擬存儲器的實現,都毫無例外地建立在離散分配存儲管理基礎上。目前,所有虛擬存儲器都是採用下述方式之一實現的。
請求分頁系統
它是在分頁系統的基礎上,增加了請求調頁功能、頁面置換功能所形成的頁式虛擬存儲系統。為了實現請求調頁和置換功能,系統必須提供必要的硬體支持。其中,最主要的是:
(1)請求分頁的頁表機制。它是在純分頁的頁面機制上增加若干項而形成的,作為請求分頁的數據結構。
(2)缺頁中斷機構。每當用戶程式要訪問的頁面尚未調入記憶體時,便產生一缺頁中斷,請求作業系統將所缺的頁面調入記憶體。
(3)地址變換機構。它是在純分頁的地址變換機構的基礎上發展形成的。
請求分段系統
它是在分段系統基礎上,增加了請求調段和分段置換功能後所形成的段式虛擬存儲系統。為了實現請求調段和分段置換功能,系統也必須提供必要的硬體支持:
(1)請求分段的段表機制。這是在純分段的段表機制基礎上增加若干項而形成的,作為請求分段的主要數據結構。
(2)缺段中斷機構。每當用戶程式所要訪問的段尚未調入記憶體時,產生一缺段中斷,請求作業系統將所缺的段調入記憶體。
(3)地址變換機構。它是在純分段的地址變換機構基礎上發展形成的。
另外,目前也有不少虛擬存儲器是建立在段頁式系統基礎上,通過增加請求調頁和頁面置換功能而形成了段頁式虛擬存儲系統。