操作系统学习笔记十二(基于分页的虚拟存储系统)
導圖
?
1. 虛擬存儲器
1.1 是什么
?? 虛擬存儲器是指具有請求調入功能和置換功能,能從邏輯上對內存容量進行擴充的一種存儲器系統。
1.2 實質
? 1)就是說,先將進程的一部分裝入內存,其余的部分什么時候需要,什么時候請求系統裝入,即請求調入。
? 2)如果請求調入時,沒有足夠的內存,則由操作系統選擇一部分內存中的進程內容移到外存,以騰出空間把當前需要裝入的內存調入,即置換。
1.3 優點
? 1)提高內存利用率
? 2)提高多道程序度:在進行進程運行的時候,并不是一口氣把一個進程里的所有東西都調入到內存,先放一部分進內存,這樣就可以放更多的進程進內存。
? 3)? 把邏輯地址空間和物理地址空間分開:不用考慮物理內存的容量較小了。可以把外存在邏輯上擴充成內存的一部分。
1.4 特征
? 1) 離散性:實現虛擬存儲管理的基礎。包括分頁、分段。都是不連續的。
? 2) 多次性:不用一次性的將進程裝入內存。一次裝一點兒,一個進程可以裝多次。
? 3) 對換性:沒用的換去外存,有用的置換進內存。
? 4) 虛擬性: 實現虛擬存儲系統的最重要目標。實質上內存很小,但是通過內外存來回切換,在邏輯上擴充內存。
?
2. 請求分頁系統
2.1 概念
? 請求分頁系統是最基本、最常用的虛擬存儲系統的實現方式。
2.2 請求分頁中的硬件支持
? 為了實現請求分頁,需要:特殊的頁表、缺頁異常機構和支持請求分頁的地址變換機構
? 1) 特殊的頁表
?????
? 2) 缺頁異常機構
???? 在訪問內存過程中發現缺頁時產生缺頁異常信號,0缺頁,1不缺頁。
? 3) 地址變換機構
????
2.3 頁的分配策略
? Q1:至少為進程分配多少個頁框才能使進程正常運行?
??? 最少頁框數:保證進程運正常運行的所需要的最少頁框數。最少頁框數與進程的大小沒有關系,它與計算機的硬件結構有關, 取決于指令的格式、功能和尋址方式。
? Q2:內存不夠時,從進程本身選擇淘汰頁,還是從系統中所有進程頁中選擇?
???
? 在基于分頁的虛擬存儲系統中,常采用兩種置換策略,即局部置換和全局置換。
? 在請求分頁系統中,從分配給進程的頁框數量上來看,可以采用固定分配和可變分配策略。
??? 1)固定分配局部置換:剛開始分配 10個頁,當第11頁來了,先置換自己。
??? 2)可變分配全局置換:進程來了,分配了10個頁,還預留了5個頁作為候補。不夠用的時候,先用候補。
??? 3)可變分配局部置換:進程來了,分配了10個頁,還預留了5個頁作為候補。來一個就先置換自己,當你發現自己來來回回總被換時,就用候補。
? Q3:采用什么樣的算法為不同進程分配頁框?
??? 1)平均分配算法:有5個內存的框,有兩個進程,一人分兩個,剩一個。剩下的那個放在緩沖池,當候補去。
??? 2)按比例分配算法:大規模的進程分的多,小規模的進程分的少。
??? 3)考慮優先權的分配算法:優先權高的分的多,優先權低的分的少。
2.4 頁的置換算法
? 1)最佳置換算法(主要用于理論研究):選擇以后永遠不會被訪問的頁或者在未來最長時間內不再被訪問的頁作為換出頁
?????? 例題:
??????
? 2)先進先出置換算法FIFO(最簡單的頁置換算法):為每個頁記錄該頁調入內存的時間,選擇換出頁時,選擇進入內存時間最早的頁
??? ?? 例題:
?????
? 3)最近最久未使用置換算法LRU(實現最佳算法的近似算法):選擇最近最久未使用的頁換出(用一個字段記錄一個頁自上次被訪問以來所經歷的時間)
??????? 例題:
?????
2.5 其他置換算法
?????
2.6 分析請求分頁系統性能
?? 1)缺頁率對有效訪問時間的影響
??? P為缺頁率,有效訪問時間=0.1+24999.9*P 。
??? 有效訪問時間與缺頁率成正比,缺頁率越高,有效訪問時間越長,訪問效率越低。
?? 2)? 工作集
??? 引入工作集目的:降低缺頁率,提高訪問內存效率
??? 含義:某段時間間隔里,進程實際要訪問的頁的集合
?? 3)? 抖動
??? 運行進程的大部分時間都用于頁的換入換出幾乎不能完成任何有效果工作的狀態
??? 產生原因:進程數量太多、分配頁框太少
??? 預防方法:采取局部置換策略、引入工作集、掛起若干進程
總結
以上是生活随笔為你收集整理的操作系统学习笔记十二(基于分页的虚拟存储系统)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dcn网络与公网_DCN网络安全
- 下一篇: easyboot的一个严重不足