虛擬儲存器的實現方法

2021-07-13 18:43:29 字數 2371 閱讀 8297

---- 在虛擬儲存器中,允許將乙個作業分多次調入記憶體。如果採用連續分配方式時,應將作業裝入乙個連續的記憶體區域中。

為此,需事先為它一次性地申請足夠的記憶體空間,以便將整個作業先後分多次裝入記憶體。

這不僅會使相當一部分記憶體空間都處於暫時或「永久」的空閒狀態,造成記憶體資源的嚴重浪費,而且也無法從邏輯上擴大記憶體容量

因此,虛擬儲存器的實現,都毫無例外地建立在離散分配的儲存管理方式的基礎上。

目前,所有的虛擬儲存器都是採用下述方式之一實現的。

1、分頁請求系統

-- 這是在基本分頁系統的基礎上,增加了請求調頁功能和頁面置換功能所形成的頁式虛擬儲存系統

它允許只裝入少數頁面的程式(及資料),便啟動執行。

以後再通過調頁功能及頁面置換功能,陸續地把即將要執行的頁面調入記憶體,同時把暫不執行的頁面換出到外存上。置換時以頁面為單位。

為了能實現請求調頁和置換功能,系統必須提供必要的硬體支援相應的軟體

1)硬體支援--主要的硬體支援有:

----請求分頁的頁表機制,它是在純分頁的頁表機制上增加若干項而形成的,作為請求分頁的資料結構。

----缺頁中斷機構,即每當使用者程式要訪問的頁面尚未調入記憶體時,便產生一缺頁中斷,以請求os將所缺的頁調入記憶體。

----位址變換機構,它同樣是在純分頁位址變換機構的基礎上發展形成的。

2)實現請求分頁的軟體

這裡包括有用於實現請求調頁的軟體和實現頁面置換的軟體。它們在硬體的支援下,將程式正在執行時所需的頁面(尚未在記憶體中的)

調入記憶體,再將記憶體中暫時不用的頁面從記憶體置換到磁碟上。

2、請求分段系統

-- 這是在基本分段系統的基礎上,增加了請求調段分段置換功能後形成的段式虛擬儲存系統。

它允許只裝入少數段(而非所有的段)的使用者程式和資料,即可啟動執行。

以後再通過調段功能和段的置換功能將暫不執行的段調出,同時調入即將執行的段。置換是以段為單位進行的。

-- 為了實現請求分段,系統同樣需要必要的硬體支援。一般需要下列支援:

----請求分段的段表機制。這是在純分段的段表機制基礎上增加若干項而形成的。

----缺段中斷機構。每當使用者程式所要訪問的段尚未調入記憶體時,產生乙個缺段中斷,請求os將所缺的段調入記憶體。

----位址變換機構

與請求調頁相似,實現請求調段和段的置換功能也需得到相應的軟體支援。

3、虛擬儲存器的特徵

---- 多次性

多次性是指乙個作業被分成多次調入記憶體執行,即在作業執行時沒有必要將其全部裝入,只需將當前要執行的那部分程式和資料裝入記憶體即可。

以後每當要執行到尚未調入的那部分程式時,再將它調入。多次性是虛擬儲存器最重要的特徵。

---- 對換性

對換性是指允許在作業的執行過程中進行換進、換出。即在程序執行期間,允許將那些暫不使用程式和資料,從記憶體調至外存的對換區(換出)

等到以後需要時再將它們從外存調至記憶體(換進)。甚至還允許將暫不執行的程序調至外存,待它們重又具備執行條件時再調入記憶體。

---- 虛擬性

虛擬性是指能夠從邏輯上擴充記憶體容量,使使用者所看到的記憶體容量遠大於實際記憶體容量。

虛擬性是以多次性和對換性為基礎的。或者說僅當系統允許將作業分多次調入記憶體,並能將記憶體中暫時不執行的程式和資料換至外存時,才有可能

實現虛擬儲存器,而多次性和對換性又必須建立在離散分配的基礎上。

虛擬儲存器管理(C 實現)

演算法思想 請求分頁虛擬儲存管理技術,是把作業位址空間的全部資訊存放在磁碟上。當作業被選中執行時,先把作業的開始幾頁裝入主存,並啟動執行。為此,在為作業建立頁表時,應說明哪些頁已在主存,哪些頁不在主存。其中標誌表示對應頁是否已經裝入主存。1表示對應頁已經裝入主存 0表示對應頁未裝入主存 主存塊號表示...

虛擬儲存器

1 虛擬儲存器只是乙個容量非常大的儲存器的邏輯模型,不是任何實際的物理儲存器 2 它借助於磁碟等輔存來擴大主存的容量,使之為更大或更多的程式使用 3 程式的邏輯位址稱為虛擬位址 虛位址 程式的邏輯位址空間稱為虛擬位址空間 4 實體地址 實位址 由cpu位址引腳送出,是用於訪問主存的位址 5 設cpu...

虛擬儲存器

在系統中程序是與其它的程序共享cpu和主存資源的,程序太多就需要太多的儲存器,而且儲存器很容易受到破壞,如果某個程序不小心寫了另乙個程序使用的儲存器,它就會以 完全和程式邏輯無關的令人迷惑的方式失敗。位址空間。特點 1.主存看成是虛擬在磁碟上的位址空間 的快取記憶體,在主存裡只儲存活動區域。2.為每...