操作系統(tǒng)_頁(yè)面置換算法FIFO,OPT,LRU實(shí)現(xiàn).doc_第1頁(yè)
操作系統(tǒng)_頁(yè)面置換算法FIFO,OPT,LRU實(shí)現(xiàn).doc_第2頁(yè)
操作系統(tǒng)_頁(yè)面置換算法FIFO,OPT,LRU實(shí)現(xiàn).doc_第3頁(yè)
操作系統(tǒng)_頁(yè)面置換算法FIFO,OPT,LRU實(shí)現(xiàn).doc_第4頁(yè)
操作系統(tǒng)_頁(yè)面置換算法FIFO,OPT,LRU實(shí)現(xiàn).doc_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

操作系統(tǒng)第六次上機(jī)在一個(gè)請(qǐng)求分頁(yè)系統(tǒng)中,設(shè)頁(yè)面大小占100個(gè)單元,假如系統(tǒng)分配給一個(gè)作業(yè)的物理塊數(shù)為3,試求出用FIFO,LRU,OPT三種算法在程序訪問過(guò)程中所發(fā)生的缺頁(yè)次數(shù)及缺頁(yè)率,每次中斷時(shí)都需要打印出來(lái)或者標(biāo)示出來(lái)。(假設(shè)最初頁(yè)面都在外存) 1. 假定此作業(yè)的訪問地址序列為202,313,252,111,546,217,444,544,365,223,398,111。2. 輸入任意的訪問序列,也必須正確顯示。/*代碼尚需完善:1.應(yīng)由用戶輸入數(shù)組,且應(yīng)根據(jù)題目要求對(duì)每個(gè)數(shù)/100,得到頁(yè)塊標(biāo)號(hào)。2.在動(dòng)態(tài)輸入的情況下,通過(guò)sizeof,獲得數(shù)組長(zhǎng)度,實(shí)現(xiàn)任意輸入的處理。3.FIFO算法實(shí)現(xiàn),why?4.在OPT實(shí)現(xiàn)中,mark屬性設(shè)置,以及向后遍歷的參數(shù)設(shè)置?*/前三個(gè)頁(yè)塊單獨(dú)處理,需注意前三個(gè)頁(yè)塊也可能重復(fù)。已做出修改!#includeusing namespace std;int input12 = 2,3,2,1,5,2,4,5,3,2,3,1 ;class pagepublic:int num;int mark;page()num = 0;mark = -1;void FIFO()cout -FIFO- endl;int error = 0;page frame3;/頁(yè)幀 bool flag = true;int check = 0;for (int i = 0; i3; i+)/處理前三個(gè)引用 for (int k = 0; k i; k+) if (inputi = inputk)flag = false;if (flag = true) framei.num = inputi;framei.mark = i;error+;cout framei.num | ;for (int j = 0; j = i; j+)cout framej.num ;cout endl;elsecheck+;for (int i = 3-check; i12; i+)int j;for (j = 0; j3; j+)if (inputi = framej.num)cout inputi endl;break;if (j = 3)error+;frame(error - 1) % 3).num = inputi;/換掉最舊的頁(yè)/?cout inputi | ;for (int k = 0; k3; k+)cout framek.num ;cout endl;cout FIFO: endl;cout Error次數(shù): error endl;cout Frame Error: (error/12.0) endl endl;void OPT()cout -OPT- endl;int error = 0;page frame3;bool flag = true;int check = 0;for (int i = 0; i3; i+)/處理前三個(gè)引用 for (int k = 0; k i; k+) if (inputi = inputk)flag = false;if (flag = true) framei.num = inputi;error+;cout framei.num | ;for (int j = 0; j = i; j+)cout framej.num ;cout endl;elsecheck+;for (int i = 3-check; i12; i+)int j;for (j = 0; j3; j+)if (inputi = framej.num)cout inputi endl;break;if (j = 3)error+;for (j = 0; j= i; k-)/向后遍歷,找到最長(zhǎng)時(shí)間不用的頁(yè)/k =20? 貌似修改后會(huì)出問題if (framej.num = inputk)framej.mark = k;if (frame0.markframe1.mark&frame0.markframe2.mark)frame0.num = inputi;else if (frame1.markframe0.mark&frame1.markframe2.mark)frame1.num = inputi;elseframe2.num = inputi;cout inputi | ;for (int k = 0; k3; k+)cout framek.num ;cout endl;cout OPT: endl;cout Error次數(shù): error endl;cout Frame Error: (error / 12.0) endl endl;void LRU()cout -LRU- endl;int error = 0;page frame3;bool flag = true;int check = 0;for (int i = 0; i3; i+)/處理前三個(gè)引用 for (int k = 0; k i; k+) if (inputi = inputk)flag = false;if (flag = true) framei.num = inputi;error+;cout framei.num | ;for (int j = 0; j = i; j+)cout framej.num ;cout endl;elsecheck+;for (int i = 3-check; i12; i+)int j;for (j = 0; j3; j+)if (inputi = framej.num)cout inputi endl;break;if (j = 3)error+;for (j = 0; j3; j+)framej.mark = -1;for (int k = 0; k = i; k+)/向前遍歷,找到最近最少使用的 if (framej.num = inputk)framej.mark = k;if (frame0.markframe1.mark&frame0.markframe2.mark)frame0.num = inputi;else if (frame1.markframe0.mark&frame1.markframe2.mark)frame1.num = inputi;elseframe2.num = inputi;cout inputi | ;for (int k = 0; k3;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論