處理缺頁中斷

處理缺頁中斷

ID:40814832

大小:354.00 KB

頁數(shù):5頁

時間:2019-08-08

處理缺頁中斷_第1頁
處理缺頁中斷_第2頁
處理缺頁中斷_第3頁
處理缺頁中斷_第4頁
處理缺頁中斷_第5頁
資源描述:

《處理缺頁中斷》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、實驗四處理缺頁中斷1.實驗?zāi)康纳钊肓私忭撌酱鎯芾砣绾螌崿F(xiàn)地址轉(zhuǎn)換;進一步認(rèn)識頁式虛擬存儲管理中如何處理缺頁中斷。2.實驗預(yù)備知識頁式存儲管理中的地址轉(zhuǎn)換的方法;頁式虛擬存儲的缺頁中斷處理方法。3.實驗內(nèi)容編寫程序完成頁式虛擬存儲管理中地址轉(zhuǎn)換過程和模擬缺頁中斷的處理。實驗具體包括:首先對給定的地址進行地址轉(zhuǎn)換工作,若發(fā)生缺頁則先進行缺頁中斷處理,然后再進行地址轉(zhuǎn)換;最后編寫主函數(shù)對所作工作進程測試。假定主存64KB,每個主存塊1024字節(jié),作業(yè)最大支持到64KB,系統(tǒng)中每個作業(yè)分得主存塊4塊。4

2、.提示與講解頁式存儲管理中地址轉(zhuǎn)換過程很簡單,假定主存塊的大小為2n字節(jié),主存大小為2m'字節(jié)和邏輯地址m位,則進行地址轉(zhuǎn)換時,首先從邏輯地址中的高m-n位中取得頁號,然后根據(jù)頁號查頁表,得到塊號,并將塊號放入物理地址的高m'-n位,最后從邏輯地址中取得低n位放入物理地址的低n位就得到了物理地址,過程如圖1所示。頁號頁內(nèi)地址塊號塊內(nèi)地址頁號…塊號…  …  …物理地址邏輯地址m'nn-10mnn-10圖1頁式存儲管理系統(tǒng)地址轉(zhuǎn)換示意圖地址轉(zhuǎn)換是由硬件完成的,實驗中使用軟件程序模擬地址轉(zhuǎn)換過程,模擬

3、地址轉(zhuǎn)換的流程圖如圖2所示(實驗中假定主存64KB,每個主存塊1024字節(jié),即n=10,m'=16,物理地址中塊號6位、塊內(nèi)地址10位;作業(yè)最大64KB,即m=16,邏輯地址中頁號6位、頁內(nèi)地址10位)。在頁式虛擬存儲管理方式中,作業(yè)信息作為副本放在磁盤上,作業(yè)執(zhí)行時僅把作業(yè)信息的部分頁面裝入主存儲器,作業(yè)執(zhí)行時若訪問的頁面在主存中,則按上述方式進行地址轉(zhuǎn)換,若訪問的頁面不在主存中,則產(chǎn)生一個“缺頁中斷”,由操作系統(tǒng)把當(dāng)前所需的頁面裝入主存儲器后,再次執(zhí)行時才可以按上述方法進行地址轉(zhuǎn)換。頁式虛擬存

4、儲管理方式中頁表除頁號和該頁對應(yīng)的主存塊號外,至少還要包括存在標(biāo)志(該頁是否在主存),磁盤位置(該頁的副本在磁盤上的位置)和修改標(biāo)志(該頁是否修改過)。這樣,在實驗中頁表格式如圖2所示。頁表用數(shù)組模擬,在實驗中頁表數(shù)據(jù)結(jié)構(gòu)定義為(同學(xué)們可自行定義其它功能等價的結(jié)構(gòu)):definen32/*實驗中假定的頁表長度,頁表的長度實際上是由系統(tǒng)按照作業(yè)長度決定的*/struct{intlnumber;/*頁號*/intflag;/*表示該頁是否在主存,“1”表示在主存,“0”表示不在主存*/intpnumb

5、er;/*該頁所在主存塊的塊號*/intwrite;/*該頁是否被修改過,“1”表示修改過,“0”表示沒有修改過*/intdnumber;/*該頁存放在磁盤上的位置,即磁盤塊號*/}page[n];/*頁表定義*/圖2模擬地址轉(zhuǎn)換的流程圖缺頁處理過程簡單闡述如下:①根據(jù)當(dāng)前執(zhí)行指令中邏輯地址中的頁號查頁表,判斷該頁是否在主存儲器中,若該頁標(biāo)志為“0”,形成缺頁中斷。中斷裝置通過交換PSW讓操作系統(tǒng)的中斷處理程序占用處理器;②操作系統(tǒng)處理缺頁中斷的方法就是查主存分配表,找一個空閑主存塊;若無空閑塊,

6、查頁表,選擇一個已在主存的頁面,把它暫時調(diào)出主存。若在執(zhí)行過程中該頁被修改過,則需將該頁信息寫回磁盤,否則不必寫回;③找出該頁的磁盤位置,啟動磁盤讀出該頁信息,把磁盤上讀出的信息裝入第2步找到的主存塊,修改頁表中該頁的標(biāo)志為“1”;④由于產(chǎn)生缺頁中斷的那條指令沒有執(zhí)行完,所以頁面裝入后應(yīng)重新執(zhí)行被中斷的指令。當(dāng)重新執(zhí)行該指令時,由于要訪問的頁面已在主存中,所以可正常執(zhí)行。關(guān)于第②步的查找裝入新頁面的主存塊的處理方式,不同系統(tǒng)采用的策略可能有所不同,這里采用局部置換算法,就是每個作業(yè)分得一定的主存塊

7、,只能在分得的主存塊內(nèi)查找空閑塊,若無空閑主存塊,則從該作業(yè)中選擇一個頁面淘汰出主存。實驗中使用局部置換算法。使用局部置換算法時,存在這樣一個問題:就是在分配給作業(yè)主存空間時,裝入哪些頁?有的系統(tǒng)采取不裝入任何一頁,當(dāng)執(zhí)行過程中需要時才將其調(diào)入。有的系統(tǒng)采用頁面預(yù)置的方法,就是估計可能某些頁面會先用到,在分配主存塊后將這些頁面裝入。實驗中,采用第二種方法,分配主存空間時將前幾頁調(diào)入主存,假定系統(tǒng)中每個作業(yè)分得主存塊m(m=4)塊,則將第0~m-1頁裝入主存。因為是模擬硬件工作,所以實驗中如果訪問的

8、頁不在主存時,則輸出該頁頁號,表示硬件產(chǎn)生缺頁中斷,然后直接轉(zhuǎn)去缺頁中斷處理;由于采用頁面預(yù)置方法,在給定的主存塊中一定無空閑塊,只能淘汰已在主存的一頁;沒有啟動磁盤的工作,淘汰的頁需要寫回磁盤時,用輸出頁號表示,調(diào)入新的一頁時,將該頁在頁表中的存在標(biāo)志置為“1”,輸出頁號表示將該頁調(diào)入主存。圖3采用先進先出頁面置換算法的缺頁中斷流程圖主存中無空閑塊時,為裝入一個頁面,必須按某種算法從已在主存的頁中選擇一頁,將它暫時調(diào)出主存,讓出主存空間,用來存放需裝入的頁面,這個工作稱為“頁面調(diào)

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。