?一、基本分頁存儲管理方式
1、分?存儲管理的基本原理:
- 頁:將?個進程的邏輯地址空間分成若?個??相等的?
- 頁框:將物理內存空間分成與???相同的若?個存儲塊
- 分?存儲:將進程中的若??分別裝?多個可以不相鄰的?框中
- 頁內碎片:進程最后???般裝不滿?個?框,形成?內碎?
- 頁表:實現從?號到?框號的映射
?************************************************************************************************
?
?2、分?地址結構:基本分頁存儲管理方式的邏輯地址結構包括兩部分,即頁內偏移量 和頁號
*******************************************************************************************************************
?例題:
?
*****************************************************************************************************************
?
?
?3、分?地址變換
- 進程執行,PCB中頁表起始地址和頁表長度送到CPU的頁表寄存器
- CPU訪問某個邏輯單元A
- 由分頁地址變換硬件自動將A分為頁號和頁內偏移兩部分
- 由硬件檢索頁表,得到A所在的頁對應的頁框號
- 頁框號和頁內偏移地址送物理地址寄存器,計算物理地址。物理地址=頁框大小?頁框號+頁內偏移量
4、???的選擇因素
- 管理內存開銷 :頁較?,劃分為較多?,?表過?,占內存 較?
- 內存的利?率: 頁較?,?內碎??,空間利?率低
5、快表TLB:
快表也稱“轉換后援緩沖”,是為了提?CPU訪存速度?采?的專?緩存, ?來存放最近被訪問過的?表項。
?
?
?快表TLB的計算:
?
***************************************************************************************************************************************
?
?
?
?
?6、兩級和多級?表
?將?表再分?,形成兩級或多級?表,將?表離散地存放在物理內存中。
?
?
?**********************************************************************************************************
?
二、基于分頁的虛擬存儲系統
1、虛擬存儲器:
- 虛擬存儲器是指具有請求調?功能和置換功能,能從邏輯上對內存容量 進?擴充的?種存儲器系統
- 就是說,先將進程的?部分裝?內存,其余的部分什么時候需要,什么 時候請求系統裝?,即請求調?
- 如果請求調?時,沒有?夠的內存,則由操作系統選擇?部分內存中的 進程內容移到外存,以騰出空間把當前需要裝?的內存調?,即置換
?
?2、請求分?系統是最基本、最常?的虛擬存儲系統的實現?式
請求分?中的硬件?持:
為了實現請求分?,需要: 特殊的?表、缺?異常機構和?持請求分?的地址變換機構。
?
?
?
?
?
?
?
?
? ?分配策略:
?*****************************************************************************************************************************?
?***********************************************************************************************************************************
?
****************************************************************************************************************************************
3、 ?置換算法:從內存?中選擇換出?的算法
A、最佳置換算法(主要?于理論研究):選擇以后永遠不會被訪問的?或者在未來最?時間內不再被訪問的?作為換出?
?
B、先進先出置換算法FIFO(最簡單的?置換算法):為每個?記錄該?調?內存的時間,選擇換出?時,選擇進?內存時間最早的?
?
?
?
C、最近最久未使?置換算法 LRU(實現最佳算法的近似算法):選擇最近最久未使?的?換出(??個字段記錄?個??上次被訪問以來所經歷的時間)
?
?
?
D、附加引?位算法
E、簡單Clock置換算法:選擇最近沒有被訪問的淘汰
F、改進型Clock算法:選擇既沒有被訪問過?沒有被修改過的淘汰
G、最少使?置換算法:選擇最近時期內使?次數最少的淘汰
H、?緩沖算法
4、請求分?系統的性能:
a、缺?率對有效訪問時間的影響
有效訪問時間=0.1+24999.9?P(P為缺?率)
有效訪問時間與缺?率成正?,缺?率越?,有效訪問時間越?,訪問效率越低有效訪問時間越低
b、?作集 :? ?引??作集?的:降低缺?率,提?訪問內存效率? ? ?含義:某段時間間隔?,進程實際要訪問的?的集合
c、抖動 :? 運?進程的?部分時間都?于?的換?換出 ?乎不能完成任何有效果?作的狀態
產?原因:? ?進程數量太多? ? 分配?框太少
預防?法:采取局部置換策略? ? ? 引??作集? ? ? 掛起若?進程
?三、分段存儲管理
?分段機制的引?:在分段存儲管理的系統中,程序員使??維的邏輯地址,?個數?來表示段, 另?個數?來表示段內偏移。
?
?
?
?引?分段機制的優點: ?便編程、分段共享、分段保護、動態鏈接,以及動態空間的增?。
分段:
- 進程的地址空間被劃分成若?個段。
- 每個段定義了?組邏輯信息,每個段的??由相應的邏輯信息組的?度確定,段 的??不?樣,每個段的邏輯地址從0開始,采??段連續的地址空間。 系統為每個段分配?個連續的物理內存區域,各個不同的段可以離散地放?物理 內存不同的區域。
- 系統為每個進程建??張段表,段表的每?個表項紀錄的信息包括段號、段?和 該段的基址,段表存放在內存中。
分段的邏輯地址結構:
?
?
?段表:段表是由操作系統維護的?于?持分段存儲管理地址映射的數據結構。每個進程有?個段表,段表由段表項構成。每個段表項包括段號、段基址(段的 起始地址)和段?(段??)3個部分。
?
*********************************************************************************************************************************************************
?
?
?
**********************************************************************************************************************************
?
?分頁和分段都屬于離散分配?式,都要通過數據結構與硬件的配合來實現邏輯地址到物理地址的映射。
分?和分段的主要區別:
1)頁是按物理單位劃分的,分頁的引入是為了提高內存的利用率和支持虛擬存儲;分段是按邏輯單位劃分的,一個段含有一組意義相對完整的信息,引入分段的目的是為了方便程序員編程。
2)頁的大小是固定的,而段的大小不固定,取決于用戶編寫的程序;
3)分頁的地址空間是一維的,分段的地址空間是二維的
?
四、段?式存儲管理
1、段?式存儲管理的基本原理
?
?
?
?四、?Linux的伙伴系統
?