操作系統5_虛擬存儲器
文章目錄
- 操作系統5_虛擬存儲器
- 1. 虛擬存儲器
- 1.1 虛擬存儲器的引入
- 1.2 虛擬存儲器的概念
- 1.3 虛擬存儲器的特征
- 1.4 虛擬存儲器的實現方法
- 2. 請求分頁存儲管理
- 2.1 請求分頁中的硬件支持
- 2.2 內存分配策略和分配算法
- 2.3 調頁策略
- 2.4 頁面置換算法
- 2.4.1 最佳置換算法
- 2.4.2 CLOCK置換算法
- 2.4.3 先進先出置換算法
- 2.4.4 其他置換算法
- 2.4.5 最近最久未使用置換算法
- 3. 請求分段存儲管理
- 4. 信息的共享與保護
1. 虛擬存儲器
1.1 虛擬存儲器的引入
- 常規存儲管理
- 特征
- 一次性:作業在運行前必須一次性地全部裝入內存后方能運行
- 駐留性:作業裝入內存后,便一直駐留在內存中,直到作業運行結束。
- 存在的問題
- 內存空間利用率不高:使許多在程序運行中不用或暫時不用的程序或數據占據大量的內存空間,使得一些需要運行的作業無法裝入運行
- 大程序無法裝入:若一個程序所要求的內存空間超過了內存實際容量,則該程序必定無法裝入內存運行
- 特征
- 解決辦法
- 從物理上增加內存容量:這種方法會增加系統成本,會受到一定限制
- 從邏輯上擴充內存容量:這正是虛擬存儲技術所要解決的主要問題
- 局部性
- 原理:早在1968年,Denning.P就曾指出:
- 程序執行時,除了少部分的轉移和過程調用指令外,在大多數情況下仍是順序執行的
- 過程調用將會使程序的執行軌跡由一部分區域轉至另一部分區域,但經研究看出,過程調用的深度在大多數情況下都不超過5
- 程序中存在許多循環結構,這些雖然只由少數指令構成,但是它們將多次執行
- 程序中還包括許多對數據結構的處理,如對數組進行操作,它們往往都局限于很小的范圍內
- 表現
- 時間局限性:如果程序中的某條指令一旦執行,則不久以后該指令可能再次執行;如果某數據被訪問過,則不久以后該數據可能再次被訪問。產生時間局限性的典型原因,是由于在程序中存在著大量的循環操作
- 空間局限性:一旦程序訪問了某個存儲單元,在不久之后,其附近的存儲單元也將被訪問,即程序在一段時間內所訪問的地址,可能集中在一定的范圍之內,其典型情況便是程序的順序執行
- 原理:早在1968年,Denning.P就曾指出:
1.2 虛擬存儲器的概念
虛擬存儲器,是指具有請求調入功能和置換功能、能從邏輯上對內存容量加以擴充的一種存儲器系統
其邏輯容量由內存容量和外存容量之和所決定,其運行速度接近于內存速度,而每位的成本卻又接近于外存
虛擬存儲技術是一種性能非常優越