第三章 2節 虛擬記憶體

2021-09-08 17:45:34 字數 1984 閱讀 1909

(ps:個人課下整理的作業系統筆記,onenote直接拷貝過來的,看不了就將就一下,配合張偉老師的ppt看效果更好)

一、背景

1.虛擬記憶體:是指具有請求調頁與頁置換功能,能從邏輯上對記憶體容量進行擴充的系統

2.二、按需調頁(demand paging)

檢查程序的頁表,以確定該引用是合法還是非法的位址訪問。

如果引用非法,那麼終止程序。如果引用有效但是尚未調入頁面,那麼現在應調入。

找到乙個空閒幀。

排程乙個磁碟操作,以便將所需要的頁調入剛分配的幀。

當磁碟讀操作完成後,修改程序的內部表和頁表,以表示該頁已在記憶體中。

重新開始因非法位址陷阱而中斷的指令。程序現在能訪問所需的頁,就好像它似乎總在記憶體中。

三、程序建立(process creation)

1.虛擬記憶體帶來的用於提高 程序建立和執行效能 的技術:寫時拷貝

(copy on write

,cow

)和記憶體對映檔案

寫時拷貝:允許父程序和子程序開始時共享同一頁面,不管是父程序還是子程序,要修改共享資料區域,要copy出來修改

記憶體對映檔案——允許虛擬記憶體與一部分檔案邏輯相關聯

四、頁置換(page replacement):從滿記憶體中找到犧牲幀

1.過度分配:通過頁置換技術增加多道程式的度,導致所有程序頁的和大於實際記憶體幀的現象

2.基本頁置換方法:

查詢所需頁在磁碟上的位置。

查詢一空閒幀:

如果有空閒幀,那麼就使用它;

如果沒有空閒幀,那麼就使用頁置換演算法以選擇乙個犧牲幀。

將犧牲幀的內容寫到磁碟上;改變頁表和幀表。

將所需頁讀入(新)空閒幀;改變頁表和幀表。

重啟使用者程序。

3.可以通過修改髒位(dirty bit)來降低開銷,當犧牲幀被寫進磁碟,置1.

4.置換演算法的評估:針對特定記憶體引用串(記憶體的引用序列)執行置換演算法,計算發生頁錯誤的數量

如果頁大小是100b,則得到以下引用串

1,4,1,6,1,6,1,6,1,6,1(已去掉相鄰相同頁號的連續訪問,因為一定不會發生頁錯誤)

5.隨著幀數量增加,發生頁錯誤數量越少。

6.頁置換演算法——fifo演算法,當必須置換時,將選擇之前最舊的頁作為犧牲幀

看下面的藍色長方格往前看最遠的

7.最優置換演算法(optimal algorithm)——找到未來最長時間不用的幀,肯定不會有belady異常

8.最近最少使用演算法(least recently used,lru)——置換出最近使用最少的幀,也不會有belady異常

往前看,看上方的訪問序列。

lru演算法之二——二次機會策略,會讓常用幀一直駐留在記憶體中

五、幀分配(allocation of frames)

(ps:幀——是記憶體中可以使用具有固定大小的記憶體塊)

1.兩種主要的分配方式:

基於優先順序的分配(priority allocation)——從別的低優先順序的程序中選擇乙個幀置換,高優先順序程序多分配些幀。

從別的程序找犧牲幀,則要用到全域性置換策略

六、顛簸(trashing)

1.顛簸:由於全域性頁置換(a程序搶b程序的幀,b程序搶c程序的幀)導致所有程序都在磁碟的等待佇列去等待,去搶占別的程序的頁,造成cpu利用率幾乎為0,作業系統會誤以為沒有程序在執行,於是繼續調入新的程序,導致多道程式度過大。

2.結果:計算機的崩潰

3.產生顛簸的原因之一:多道程式的度過大(併發執行的程序數)4.當

n個程序區域性記憶體之和

>

物理記憶體容量,一定發生顛簸

5.工作集合模型

七、其他考慮

1.欲調頁(prepaging):在程序一開始,把所有程序的區域性全部載入到記憶體中

2.頁大小的選擇標準:從tlb和io

overhead

來看,頁越大越好

從碎片和locality來看,頁越小越好

3.怎樣來提高tlb範圍?(tlb範圍,通過tlb能訪問的記憶體量)

第三章 1節 記憶體管理

ps 個人課下整理的作業系統筆記,onenote直接拷貝過來的,看不了就將就一下,配合張偉老師的ppt看效果更好 一 背景 1.記憶體 main memory 是cpu唯一能直接訪問的大容量儲存機構 2.記憶體由很大一組字或者位元組組成,每個字或者位元組有他們自己的位址,cpu根據程式計數器的值在記...

複習 作業系統 第三章 虛擬記憶體管理

1.虛擬記憶體的基本概念 傳統儲存管理方式 區域性性原理 虛擬儲存器的定義和特徵 虛擬記憶體技術的實現 2.請求分頁管理方式 頁表機制 缺頁中斷機構 位址變換機構 3.頁面置換演算法 最佳置換演算法 先進先出頁面置換演算法 最近最久未使用置換演算法 時鐘置換演算法 4.頁面分配策略 駐留集大小 調入...

記憶體管理2《第三章》

虛擬儲存器的基本概念 所謂虛擬儲存器,是指具有請求調入功能和頁面置換功能,能從邏輯上對記憶體進行擴充的一 種儲存器系統 虛擬儲存的特徵 多次性,對換性,虛擬性 實現虛擬記憶體的軟硬體支援 最佳置換演算法 optimal 在最長時間內不再被訪問的。先進先出頁面置換演算法 fifo 淘汰最先進入記憶體的...