模擬請求頁式存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷,并用先進先出調(diào)度算法(FIFO)處理缺頁中斷.doc

模擬請求頁式存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷,并用先進先出調(diào)度算法(FIFO)處理缺頁中斷.doc

ID:56354345

大?。?19.00 KB

頁數(shù):9頁

時間:2020-06-12

模擬請求頁式存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷,并用先進先出調(diào)度算法(FIFO)處理缺頁中斷.doc_第1頁
模擬請求頁式存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷,并用先進先出調(diào)度算法(FIFO)處理缺頁中斷.doc_第2頁
模擬請求頁式存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷,并用先進先出調(diào)度算法(FIFO)處理缺頁中斷.doc_第3頁
模擬請求頁式存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷,并用先進先出調(diào)度算法(FIFO)處理缺頁中斷.doc_第4頁
模擬請求頁式存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷,并用先進先出調(diào)度算法(FIFO)處理缺頁中斷.doc_第5頁
資源描述:

《模擬請求頁式存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷,并用先進先出調(diào)度算法(FIFO)處理缺頁中斷.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。

1、實驗報告課程名稱操作系統(tǒng)原理實驗名稱虛擬頁式管理姓名學號專業(yè)班級網(wǎng)絡實驗日期成績指導教師趙安科(①實驗目的②實驗原理③主要儀器設備④實驗內(nèi)容與步驟⑤實驗數(shù)據(jù)記錄與處理⑥實驗結(jié)果與分析⑦問題建議)實驗二模擬請求頁式存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷,并用先進先出調(diào)度算法(FIFO)處理缺頁中斷1.內(nèi)容:模擬請求頁式存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷處理2.思想:裝入新頁置換舊頁時,若舊頁在執(zhí)行中沒有被修改過,則不必將該頁重寫磁盤。因此,頁表中增加是否修改過的標志,執(zhí)行“存”指令和“寫”指令時將對應的修改標志置成“1”

2、表示修改過,否則為“0”表示未修改過。頁表格式如下:頁號標志頁架號修改標志在磁盤上位置3.要求及方法:①設計一個地址轉(zhuǎn)換程序來模擬硬件的地址轉(zhuǎn)換和缺頁中斷。當訪問的頁在主存時則形成絕對地址,但不去模擬指令的執(zhí)行,可以輸出轉(zhuǎn)換后的絕對地址來表示一條指令已執(zhí)行完成。當訪問的頁不在主存中時,則輸出“*頁號”來表示硬件產(chǎn)生了一次缺頁中斷。模擬地址轉(zhuǎn)換流程見圖1。②編制一個FIFO頁面調(diào)度程序;FIFO頁面調(diào)度算法總是先調(diào)出作業(yè)中最先進入主存中的哪一頁。因此可以用一個數(shù)組來表示(或構(gòu)成)頁號隊列。數(shù)組中每個元素是該作業(yè)已在主

3、存中的頁面號,假定分配給作業(yè)的頁架數(shù)為m,且該作業(yè)開始的m頁已裝入主存,則數(shù)組可由m個元素構(gòu)成。P[0],P[1],P[2],…,P[m-1]它們的初值為P[0]:=0,P[1]:=1,P[2]:=2,…,P[m-1]:=m-1用一指針K指示當要調(diào)入新頁時應調(diào)出的頁在數(shù)組中的位置,K的初值為“0”,當產(chǎn)生缺頁中斷后,操作系統(tǒng)總是選擇P[K]所指出的頁面調(diào)出,然后執(zhí)行:P[K]:=要裝入的新頁頁號K:=(k+1)modm在實驗中不必實際地啟動磁盤執(zhí)行調(diào)出一頁和裝入一頁的工作,而用輸出“OUT調(diào)出的頁號”和“IN要裝入

4、的新頁頁號”來模擬一次調(diào)出和裝入過程,模擬程序的流程圖見附圖1。按流程控制過程如下:提示:輸入指令的頁號和頁內(nèi)偏移和是否存指令,若d為-1則結(jié)束,否則進入流程控制過程,得P1和d,查表在主存時,絕對地址=P1×1024+d③假定主存中頁架大小為1024個字節(jié),現(xiàn)有一個共7頁的作業(yè),其副本已在磁盤上。系統(tǒng)為該作業(yè)分配了4個頁架,且該作業(yè)的第0頁至第3頁已裝入內(nèi)存,其余3頁未裝入主存,該作業(yè)的頁表如下:頁號標志頁架號修改標志在磁盤上位置015001111800122190013311002140002250002360

5、0121如果該作業(yè)依次執(zhí)行的指令序列如下表所示:操作頁號頁內(nèi)地址操作頁號頁內(nèi)地址+0070移位4053+1050+5023×2015存1037存3021取2078取0056+4001-6040存6084依次執(zhí)行上述指令調(diào)試你所設計的程序(僅模擬指令的執(zhí)行,不考慮序列中具體操作的執(zhí)行)。④為進一步考察程序的執(zhí)行,可自行確定若干組指令,運行程序,核對執(zhí)行結(jié)果。4.書寫實驗報告:①實驗題目;②程序中所用的數(shù)據(jù)結(jié)構(gòu)及說明;③源程序并附上必要的說明;④按照指令的執(zhí)行序列,打印輸出結(jié)果:絕對地址或調(diào)出、調(diào)入的頁號。圖1模擬算法

6、流程代碼:#include#include#includeusingnamespacestd;charuseSign[12][5]={{'+'},{'-'},{'*'},{"存"},{"取"},{'-'},{"移位"},{'+'},{"存"},{"取"},{'+'},{"存"}};intPageAddress[12]={70,50,15,21,56,40,53,23,37,78,01,84};intPageNum[12]={0,1,2,3,0,6,4,5,1,2,4

7、,6};intS_Station;intpPageNum[7];//頁號pPageintpSign[7];intpStool[7];//頁架號intpModify[7];//修改標志intpStation[7];//磁盤位置staticintz=0;voidStore(){for(inti=0;i<7;i++){if(i<4){pSign[i]=1;}elsepSign[i]=0;pPageNum[i]=i;pModify[i]=0;}intp1=1,p2=2,p3=3;for(i=0;i<7;i++){if(i<

8、3){pStation[i]=p1;p1++;}elseif(i<6){pStation[i]=p2;p2++;}elsepStation[i]=p3;}pStool[0]=5;pStool[1]=8;pStool[2]=9;pStool[3]=1;}voidCShow(){cout<<"操作";cout<<"頁號";cout<<"頁內(nèi)地址";cout<<"

當前文檔最多預覽五頁,下載文檔查看全文

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

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