虛擬儲存器又稱虛擬儲存系統,或虛擬儲存體系等,由主儲存器和聯機工作的外部儲存器共同組成。在目前的計算機系統中,主儲存器通常用動態隨機儲存器(dram)實現,它的儲存容量相對比較小,速度比較快,單位容量的**比較貴。
聯機工作的外部儲存器通常為磁碟儲存器,它的儲存容量很大,與主儲存器相比,速度很低,單位容量的**很便宜。這兩個儲存器在硬體和系統軟體的共同管理下,對於應用程式設計師,可以把它們看來是乙個單一的儲存器,是乙個儲存容量非常大的主儲存器。
虛存一般分為頁式儲存、段式儲存和段頁式儲存。
理念:利用有限的資源盡可能的執行大一些的程式。如果我的記憶體64k,而需要執行128k的程式,在實存中不可能執行,因為記憶體無法一次性將程式放進來;如果將使用者程式和記憶體進行分塊,然後將程式一塊塊的拿到記憶體中去,執行完的程式塊就立即退出記憶體,然後換沒有執行的程式塊進入記憶體來執行。這樣就使得執行比記憶體容量大的程式成為可能。頁式儲存就是基於這種理念。
注意:程式分頁的大小和記憶體中分頁的大小需要相同,否則會導致出錯;同時它們之間通過頁表進行對應,程式頁通過頁表對映到記憶體中去。 頁表中儲存了程式的邏輯位址和記憶體中的塊號位址,如下:
下面來看一下頁式儲存的組織:
邏輯位址分為頁號和頁內位址,知道頁號可以通過頁表得到記憶體中實際位址,然後以頁表中對應塊號的二進位制表現形式為高位,邏輯位址中的頁內位址為低位構成的位址就是記憶體中的實際位址,即實體地址。
頁內位址如何得到?
將邏輯位址轉換為二進位制,然後得到頁面大小,如果頁面大小為4k,那麼2的12次方為4k,所以頁內位址就是邏輯位址的低12位。
頁式儲存是從作業系統的角度分為多個頁,而段式儲存是從使用者的角度將乙個程式分為多個段,段的大小一般比頁的大小要大的多,而且可以不相等的,而頁的大小都是相同的。理念是將程式分為多個段,然後分別讀到記憶體中去,和頁式儲存系統很類似。
下面來看一下段式儲存的組織:
段式儲存分的段比較大,有利於資源共享。例如我們將乙個程式分為程式段和資料段,那麼如果有多個使用者使用這個程式時,我們就可以只執行乙個資料段,而執行多個資料段,因為每個使用者用的程式都是一致的,而各個使用者的資料卻是不相同的。
段式儲存計算記憶體中實際位址的方式和頁式儲存也是十分類似的,首先通過段號找到基址然後以基址為高位,位移量為低位組成實際位址。
●優點:利用率高,產生的記憶體碎片小,記憶體間分配及管理簡單; ●
缺點:要有相應的硬體支援,增加了系統開銷,請求調頁的演算法如果選擇不當,有可能產生抖動現象。
●優點:便於多道程式共享記憶體,便於對儲存器的保護,擱幾程式修改互不影響; ●
缺點:記憶體利用率低,記憶體碎片浪費大。
由於頁式儲存和段式儲存都有各自的缺點,所以提出了段頁式儲存,段頁式儲存的組織如下:
段頁式儲存包括乙個段表和多個頁表的,因為每乙個段都對應著乙個頁表。頁式儲存是針對作業系統角度的;而段式儲存是從使用者角度劃分的,所以是從邏輯角度劃分而成。
段頁式儲存的優缺點:
●優點:空間浪費小、儲存共享容易、儲存保護容易、能動態連線。 ●
缺點:由於管理軟體的增加,複雜性和開銷也隨之增加,需要的硬體以及占用的內容也有所增加,使得執行速度大大下降。
作業系統原理學習總結 虛存技術
虛存技術的基本概念 可以在頁式或段式記憶體管理的基礎上實現 在裝入程式時,不必將其全部裝入到記憶體,而只需將當前需要執行的部分頁面或段裝入到記憶體,就可以讓程式開始執行 在程式執行過程中,如果需要執行的指令或訪問的資料尚未在記憶體 稱為缺頁或缺段 則由處理器通知作業系統將相應的頁面或段調入到記憶體,...
作業系統總結之虛存
虛擬記憶體 前一章記憶體管理介紹了幾種技術如分頁分段把乙個程序分成多個頁,分開存放,在pcb中維持乙個頁表。程序執行的前提是程序的全部頁都已經在記憶體中了。虛擬記憶體技術就解決了這個問題,不需要乙個程序把全部的頁都放在記憶體才能執行。動態載入雖然也解決了這個問題,但是需要程式設計師完成,非常麻煩。其...
OSPF虛鏈路技術
拓撲圖 思科配置 r1 r2 r3 r4 3 配置ospf多區域 r1 r2 r3 r4 4 配置虛鏈路 r1 router ospf 1 router id 192.168.20.1 endclear ip ospf processs yesrouter config router ospf 1 ...