分析常規儲存器管理不足的原因:
1)常規儲存器管理方式的特徵
一次性:作業在執行前一次性地全部裝入記憶體
駐留性:作業裝入記憶體後,便一直駐留在記憶體中,直至作業執行結束.
2)區域性性原理
程式在執行時將呈現出區域性性規律:
在一較短的時間內
程式的執行僅侷限於某個部分;
相應地,所訪問的儲存空間也侷限於某個區域。
程式執行的特點:
多數情況下仍是順序執行。
少部分的轉移和過程呼叫指令會使程式執行由一部分區域轉至另一部分區域(但研究表明呼叫深度多數情況下不超過5)
許多由少數指令構成的迴圈結構會多次執行。
對許多資料結構的處理(如陣列)往往侷限於很小的範圍內。
所有上述情況都表現出程式執行的區域性性:
時間區域性性(temporal locality)
被引用過一次的儲存器位置很可能在不遠的將來再被多次引用。
空間區域性性(spatial locality)
如果乙個儲存器位置被引用了一次,那麼程式很可能在不遠的將來引用附近的乙個儲存器位置。
基於區域性性原理
程式執行前,不需全部裝入記憶體(打破一次性)
僅裝入當前要執行的部分頁面或段即可執行,其餘部分暫留在外存上。
缺頁/段的情況:要訪問的頁(段) 尚未調入記憶體。程式應利用os所提供的請求調頁(段)功能,將它們調入記憶體,使程式繼續執行。
調入需要的頁/段時,如果記憶體已滿,無法再裝入新頁(段),通過置換功能將記憶體中暫時不用的頁(段)調至外存,騰出足夠的記憶體空間。(不總駐留)
交換技術與虛存使用的調入調出技術有何相同和不同之處?
主要相同點是都要在記憶體與外存之間交換資訊;
主要區別在於交換技術換出換進一般是整個程序(proc結構和共享正文段除外),因此乙個程序的大小受物理儲存器的限制;
而虛存中使用的調入調出技術在記憶體與外存之間來回傳遞的是儲存頁或儲存段,而不是整個程序,從而使得程序對映具有了更大的靈活性,且允許程序的大小比可用的物理儲存空間大的多 。
3)虛擬儲存器的定義
所謂「虛擬儲存器」,是指具有請求調入功能和置換功能,能從邏輯上對記憶體容量加以擴充的一種儲存器系統。
虛擬儲存管理下
記憶體邏輯容量由記憶體容量和外存容量之和所決定
執行速度接近於記憶體速度
每位的成本卻接近於外存。
4)虛擬儲存器的實現
虛擬儲存管理:
允許將乙個作業分多次調入記憶體。
若採用連續分配方式,需申請足夠空間,再分多次裝入,造成記憶體資源浪費,並不能從邏輯上擴大記憶體容量。
虛擬的實現建立在離散分配儲存管理基礎上
方式:請求分頁/請求分段系統
細節:分頁/段機構、中斷機構、位址變換機構、軟體支援
5)虛擬儲存器的特徵
離散分配方式是基礎
多次性:乙個作業被分成多次調入記憶體執行
對換性:允許在作業的執行過程中進行換進、換出。(程序整體對換不算虛擬)
最終體現虛擬性:能夠從邏輯上擴充記憶體容量,使使用者所看到的記憶體容量遠大於實際記憶體容量。
2. 請求分頁儲存管理方式
3. 基本分頁 + 「請求調頁」和「頁面置換」功能。
換入和換出基本單位都是長度固定的頁面
1)硬體支援
一台具有一定容量的內/外存的計算機
虛擬儲存器
1 虛擬儲存器只是乙個容量非常大的儲存器的邏輯模型,不是任何實際的物理儲存器 2 它借助於磁碟等輔存來擴大主存的容量,使之為更大或更多的程式使用 3 程式的邏輯位址稱為虛擬位址 虛位址 程式的邏輯位址空間稱為虛擬位址空間 4 實體地址 實位址 由cpu位址引腳送出,是用於訪問主存的位址 5 設cpu...
虛擬儲存器
在系統中程序是與其它的程序共享cpu和主存資源的,程序太多就需要太多的儲存器,而且儲存器很容易受到破壞,如果某個程序不小心寫了另乙個程序使用的儲存器,它就會以 完全和程式邏輯無關的令人迷惑的方式失敗。位址空間。特點 1.主存看成是虛擬在磁碟上的位址空間 的快取記憶體,在主存裡只儲存活動區域。2.為每...
虛擬儲存器
1 常規儲存器管理方式的特徵 一次性 即作業在執行前需一次性地全部裝入記憶體。這會導致兩種情況的發生 當作業很大,所要求的記憶體空間超過了記憶體總容量,作業不能全部被裝入記憶體,致使該作業無法執行。在多道程式中,有多個作業要求執行,但由於記憶體容量不足以容納所有這些作業,只能將少數作業裝入記憶體讓它...