頁面置換演算法

2023-01-05 11:48:04 字數 2694 閱讀 3010

首先了解頁面置換演算法:

在位址對映過程中,若在頁面中發現所要訪問的頁面不在記憶體中,則產生缺頁中斷。當發生缺頁中斷時,作業系統必須在記憶體中選擇乙個頁面將其移除記憶體,以便為即將調入的頁面讓出空間。而用來選擇淘汰哪一頁的規則叫做頁面置換演算法。

1、分類:

最佳置換演算法(opt):所選擇的被淘汰頁面將是以後永不使用的,或者是最長時間內不被訪問的頁面,這樣可以保證獲得最低的缺頁率。

先進先出演算法(fifo):優先淘汰最早進入的頁面,也就是在記憶體中停留時間最長的頁面。

最近最久未使用演算法(lru):選擇最近最長時間未被訪問過的頁面進行淘汰。

最少使用(lfu)置換演算法、工作集演算法、nru演算法等

2、真題解析:

①某虛擬儲存系統採用最近最少使用(lru)頁面淘汰演算法。假定系統為每個作業分配三個頁面的主存空間,其中乙個頁面用來存放程式。現在某作業的部分語句如下。

var a:array[1..128,1..128] of integer;

i,j:integer;

for i:=1 to 128 do

for j:=1 to 128 do

a[i,j]:=0;

設每個頁面可存放128個整數變數,變數i、j放在程式頁中,矩陣a按行序存放。初始時,程式及變數i、j已在記憶體,其餘兩頁為空。在上面程式片段執行過程中,共產生____次缺頁中斷。

最後留在記憶體中的是矩陣a的最後_______。

解析:系統為每個作業分配三個頁面的主存控制項,其中乙個存放程式,另外兩個存放的是:二位陣列a[128,,128]共128行,128列,所以每行都有128個整型變數。

因為矩陣a按行序排列,又因為乙個頁面可以存放128個整數變數,所以乙個頁面存放矩陣a中的一行,兩個頁面存放矩陣a中的兩行。其用最近最少使用頁面淘汰演算法(淘汰最久未被訪問的頁面,如1、2行先進入頁面,當第三行進入頁面的時候,第一行相對於第二行就是最久未被訪問的頁面,所以淘汰第一行,第三行進入主存)如下分析

行數    1   2  3   4   5128

頁面一   1  1 3 3 5

頁面二     2  2 4 4

缺頁128次缺頁

由以上分析可知,最後留在記憶體中的是矩陣a的最後兩行,因為是一行一行的進入的,而且記憶體中允許兩個頁面存在,再有前5行進入主存的規律分析,所以是最後兩行127行和128行。

②在某計算機中,假設某程式的6個頁面如下圖所示,其中某指令「copy a to b」跨兩個頁面,且源位址a和目標位址b所涉及的區域也跨兩個頁面。若位址為a和b的運算元均不在記憶體,計算機執行該copy指令時,系統將產生_____次缺頁中斷;若系統產生產生三次缺頁中斷,那麼該程式應有____個頁面在記憶體。

解析:如題,系統存在6個頁面,1~2存放指令,3~6將來要用來存放a的源位址和b的目標位址,當執行指令的時候,系統會去訪問a的源位址和b的目標位址,因為ab本身沒有存在主存中,所以每次訪問的頁面不在主存中,就會發生一次缺頁中斷。即訪問ab時,3~6的頁面都會發生缺頁中斷,即發生4次缺頁中斷。

整個程式中有6個頁面,若發生3次中斷,應該就是進入主存3~5頁面時發生了中斷,那時程式裡有3~5頁面再記憶體裡,即3個頁面。

設檔案索引節中有8個位址項,每個位址項大小為4位元組,其中5個位址項為直接位址索引,2個位址項是一級間接位址索引,1個位址項是二級間接位址索引,磁碟索引塊和磁碟資料塊大小均為1kb。若要訪問檔案的邏輯塊號分別為5和518,則系統分別採用______;而且可表示的單個檔案最大長度是_____kb。

解析:(1)磁碟索引塊和磁碟資料塊的塊長節,索引塊號長8*4=32位元組,所以乙個索引可以存放1024/32=32個盤塊號.

直接索引可定址的檔案的最大長度1個塊(1*1k=5/8kb)因為磁碟索引塊的塊長節(1個塊)

一級索引可定址的檔案的最大長度32個塊(32*1024b=32kb)

二級索引可定址的檔案的最大長度n=32*32=1024個盤塊(1024*1024b=1mb=1024kb)

題中是求第5個塊和518個塊,分別是一級間接位址索引(1<5<32+1)和二級間接地索引(32+1<518<1024+32+1)

(2)1024/4=256

1024/32=32個塊

5個直接位址對應的檔案大小5*1=5kb

2個一級間接位址對應檔案大小2*256*1=512kb

1個二級間接位址對應檔案大小1*256*256*1=65536kb

單個檔案的最大長度為:5+512+65536=66053kb

可變分割槽的請求和釋放分割槽主要有如下4種演算法。

最佳適應演算法:選擇等於或接近作業需求的記憶體自由區進行分配。這種方法可以減少碎片,但同時也可能帶來更多小得無法再用的碎片。

首次適應演算法:從主存低位址開始,尋找第乙個可用(即大於等於作業需求的記憶體)的自由區。這種方法可實現快速分配,縮短查詢時間。

最差適應法:選擇整個主存中最大的記憶體自由區。

迴圈首次適應演算法:是首次適應法的乙個變種,也就是不再是每次都從頭開始匹配,而是連續向下匹配。

(2)分頁儲存管理

分成兩部分:其一部分為頁號p;後一部分為偏移量w,即頁內位址。途中的位址長度為32位,其中0~11位為頁內位址(每頁的代銷為4kb),12~31位為頁號,所以允許位址空間的大小最多為1mb個頁

頁式儲存管理的位址對映。

(3)分段儲存管理:作業的位址空間被劃分成為若干個段,每個段是一組完整的邏輯資訊。分段系統的位址結構如圖所示,邏輯位址由段號和段內位址兩部分組成。

在該位址結構中,允許乙個作業最多有64kb個段,每個段的最大長度為64kb。

頁面置換演算法模擬設計

課程設計報告 課程名稱作業系統 課題名稱頁面置換演算法模擬設計 專業通訊工程 班級學號 姓名指導教師 2014年 6 月 29 日 湖南工程學院 課程設計任務書 課程名稱作業系統 課題頁面置換演算法模擬設計 專業班級 學生姓名 學號指導老師 審批任務書下達日期 2014 年 6 月 23 日 任務完...

頁面置換演算法問題實驗報告

作業系統實驗報告 實驗五頁面置換演算法問題 最佳頁面置換演算法與先進先出fifo頁面置換算法學號 班級 姓名 成績 一實驗目的 了解最佳頁面置換演算法與先進先出fifo頁面置換演算法,並掌握其基本原理二實驗目標 用c語言模擬最佳頁面置換演算法與先進先出fifo頁面置換演算法三實驗步驟 第一步,輸入系...

請求頁式儲存管理的頁面置換演算法

班級 計科0801班姓名 邊佳學號 08407102 日期 2011年5月19日 實驗目的 通過請求頁式儲存管理中頁面置換演算法模擬程式,了解虛擬儲存技術的特點,掌握請求頁式儲存管理的頁面置換演算法。實驗屬性 設計 實驗內容 1.通過隨機數產生乙個指令序列,共320條指令,指令的位址按下述原則生產 ...