作業系統(4)虛擬儲存--覆蓋與交換、區域性性原理、虛擬頁式儲存、虛擬段式儲存、缺頁異常
阿新 • • 發佈:2018-11-13
文章目錄
1. 虛擬儲存的需求背景
虛擬儲存可以看出是非連續分割槽儲存的延續,在非連續分割槽的基本上,把一部分內容放到外存裡,從而增大應用程式的使用空間。
- 儲存層次結構
通過下圖的層次結構,使系統處於繁忙的狀態,實現價格、容量、訪問速度方面的均衡。
- 解決計算系統常出現的記憶體不夠用問題的辦法
覆蓋
:應用程式手動把需要的指令和資料儲存在記憶體中,這種方式加大了應用開發的難度交換
:作業系統自動把暫時不能執行的程式儲存到外存中,這種方式開銷大虛擬儲存
:在有限容量的記憶體中,以頁為單位自動裝入更多更大的程式。
2. 覆蓋和交換技術 (過時技術)
- 覆蓋
- 交換
3. 區域性性原理(虛擬儲存的可實現前提)
虛擬儲存是把原來放在記憶體中的一部分地址資訊放到外存中。
- 虛擬儲存的目標
- 只把部分程式放到記憶體中,從而執行比實體記憶體大的程式。不同於覆蓋技術,這部分工作由作業系統自動完成。
- 實現程序在記憶體與外存之間的交換,從而獲得更多的空閒記憶體空間
- 區域性性原理
分支區域性性就比如迴圈
4. 虛擬儲存概念
- 原理
- 裝載程式時:只講當前指令執行需要的部分頁面或段裝入記憶體中,不同於之前的需要把整個程序放到記憶體中
- 當指令執行過程中需要的指令或者資料不在記憶體中時(稱為
缺頁
或者缺段),處理器通知作業系統將相應的內容調入記憶體- 作業系統將記憶體中暫時不用的頁面或段儲存到外面(引出
置換演算法
來決定調出哪些)。
-
實現方式:虛擬頁式儲存+虛擬段式儲存
-
虛擬儲存的基本特徵
-
支援技術
- 硬體:頁式或短時儲存中的地址轉換機制
- 作業系統:管理記憶體和外存間頁面或段的換入和換出
4. 虛擬頁式儲存
在頁式儲存管理的基礎上,增加請求調頁和頁面置換。
-
實現思路
頁式儲存管理是將所有的頁面都加入到記憶體中,只是可以實現儲存的不連續,因此也不會出現所謂的缺頁異常。 -
地址轉換
地址轉換過程和頁式儲存管理差不多,只不過增加了缺頁異常的一些處理機制,這樣就會導致很多東西需要修改 -
頁表項結構(區別於頁式儲存管理的頁表項)
在頁表項中添加了4個標識位:駐留位,保護位,修改位,訪問位
=
5. 缺頁異常
- 缺頁異常(中斷)的處理流程(頁面置換演算法)
- 上圖第4步詳細流程
- 虛擬頁式儲存的外存管理
- 管理的效能