操作系統(tǒng)置換試驗(yàn)報(bào)告_第1頁
操作系統(tǒng)置換試驗(yàn)報(bào)告_第2頁
操作系統(tǒng)置換試驗(yàn)報(bào)告_第3頁
操作系統(tǒng)置換試驗(yàn)報(bào)告_第4頁
操作系統(tǒng)置換試驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)四頁置換實(shí)驗(yàn)?zāi)康?通過請求頁式存儲(chǔ)管理中頁面置換算法模擬程序,了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),掌握請求頁式存儲(chǔ)管理的頁面置換算法。二、實(shí)驗(yàn)環(huán)境說明:此實(shí)驗(yàn)在MacOS10.9的Xcode軟件下編譯運(yùn)行。三、實(shí)驗(yàn)內(nèi)容:寫一個(gè)程序來實(shí)現(xiàn)本章中介紹的FIFO和LRU頁置換算法。首先,產(chǎn)生一個(gè)隨機(jī)的頁面引用序列,頁面數(shù)從09。將這個(gè)序列應(yīng)用到每個(gè)算法并記錄發(fā)生的頁錯(cuò)誤的次數(shù)。實(shí)現(xiàn)這個(gè)算法時(shí),要將貢幀的數(shù)量設(shè)置為可變(從17)假設(shè)使用請求調(diào)頁。四、程序設(shè)計(jì)說明:1. 全局變量:定義bsize為頁幀的數(shù)量,可以手動(dòng)修改,初始值為4。定義psize為進(jìn)程請求次數(shù),可以手動(dòng)修改,初始值為16。定義Page結(jié)構(gòu)體,

2、內(nèi)含頁面編號(hào)和調(diào)入時(shí)間。i*t#defineb&ije&/*pagetablesize*/#tlefinepsize16/*physicalmemorysize+/IS1, typedefstructpagelotnum:pagenumber*/inttime;/*swdpintimePage;22Pafleframebsize/+francnumber+/intbutbizefp&ize;/*buffer*/intqueue:/*processesinmeniory*/intK;/*number0+processesirrfiemory+/intphbbsize=-4

3、);/*physicalmemarynunber*/intprotpsi2e)=0-;/*processesnumber*/intflagbs=0;/*processestildes*/inti-j=0;31irtri-1(n*-1;"if“me*/intmax3-1.maxflaq=0;,*victimframenumberintcount=電;/*numberofpaqefault*/2. 初始化緩沖區(qū)和物理內(nèi)存:/水initalizethebufferandmemoryspace*/,口一dInitJage(intbufferbsizesize(1or(i=0;i<psi

4、ze;i+i9fli.nun-1;f(1).time-psize-i-1;收)lor(i=0;1<bsize;i+for(r=ft;j<psize;j+)buffer'llj=1;.7.獲得隨機(jī)序列(09),共psize個(gè)數(shù):3/*random(h9)*/int+generateC)printf("Therandompage-referencestringis:n(l);52sr«nd(tinie(NLlLL);for(int曰=;a<psize;a+)5protai=rand)%10;printf('%d|b,pra);)p

5、rintf("n"returnpro);如搜索空內(nèi)存,便于頁的調(diào)入:/*searchemptyphysicalmennry*/intsearchPtiMt)1or(=0;.mbslze;.+)if(phb電)Im-j;701returnm;711br6ak;return-1;75)搜索是否有相同的進(jìn)程已在內(nèi)存中,有則不缺頁,不需要置換:/*searchsaneprocess*/intsearchProf)(tor(=0;<bsize;:+)(if(phbfj1=pro:iI)S3(n=j;returnj;|B?ffireturn-1;|每次應(yīng)用完一個(gè)算法后清空內(nèi)存和緩

6、沖區(qū),便于其他算法的頁置換:PBbl/tclearthememoryaftereachalgorithm*/voidclear的<孰let1;forti=;i<bsize;1+)phbj*%count=e;9aFIFO算法:FIFO頁置換算法為每個(gè)頁記錄著該頁調(diào)入內(nèi)存的時(shí)間。當(dāng)必須置換一頁時(shí),將選擇最舊的頁。FIFO算法性能并不總是很好,可能會(huì)有Belady異常的出現(xiàn)。-o-4a_2iTF*|o-10-HAMdl-4aIXi*!*Bla-*IXIX/*FIFOAlgorithm*/voidFIFOtlprintf("Currentstateis:;printt("

7、;|n');for(i=0;i<psize;1+)<m=searchPhMf);n=searchProij;(j-9;j<Mi陽j+)(if(fTig(j>maxfIsg)maxflag=flag(imax=j;if(n=-1)/*nosameprocessm/<if(m!=-1/*existemptymemory*/<phbn=prolij;count+;flagImI=e;for(j=6;j=m;j+)<flaotj+:)m=-1;else/率noemptyneniory,needvlctin*/phbLnax)=proli;flagIni

8、axJ=g;fortj=肌jmb3ize;j+)(lagj)+;)=-1;Taxflag=0;count+;?else/*existsameprocess*/phb(n).pro.J;tor(j=fl;j«bsize;j+<fiBgtj+:c=-1;卜prdntf("|W2d|'proi);for(j=0;j<bsize;j*+)(printf("*s2d",phbj);printf("n|+n+1.n")Pri.ntf("Thereare如pagefaults.nRcount);orxntft'

9、Tagefaultratis4f.n'(floaticountipiize);8.獲得置入時(shí)間最早的頁面,用于FIFO算法:XW-T/*usedinFlrQjswapinearliest*/intGetMaxtPgqe*f)inti;intmax-1;inttag=%for(i=0;i<bsize;1+)4if(fltlie>max)max=f(iltag=i;)returntag;9.判斷頁面是否相同:Ms;髓不就同MnwgM的黑磬初啊10111213*151617":幻.,*itexist*/intEquatlon(intprOjPage*f)卬.<in

10、t1;for(1=6;1<bslze;i+)IB?if(pro*f1,nym)iwreturni;IK二父return-1;192卜1310.LRU#法:LRU頁置換算法為每個(gè)頁關(guān)聯(lián)該頁上次使用的時(shí)間。當(dāng)必須置換一頁時(shí),LRU4擇最長時(shí)間沒有使用的頁。這種策略為向后看最優(yōu)頁置換算法。7*LRUAlgonthfii*/voidLruu(intpro,Page*f)inti;intval;vat=EquatioMpr%f);if(val>=0)<fvaltime*0;for(i=0;ivbsi2eji+)if(X!=val)fi»time+;else<queue(

11、+K1=pro;vatGetHaxlf);fval.nun=pro;fval.time-B;for(i=劭i<b$izeji+)if(i|=val)fi/time+;)11.12.210221223*及5226217229HO23123323323413s2M23713fi之葬12412M2<t3M5W242M1雪0isi152癡現(xiàn)voidLRU()(iniid;K父-1;Init(framefbuf);for(ik0;i<psl»1+*)(Lruu(pra11frame)1;buf01pnIiifor(J=0;J<ble;J*)ibufji=fran>

12、ej+num;prlntf("Currentstateis:n");printf(w|+<-rT):for(1=0;i<psize;1+-*)(printf('M*2dproil);forj=0j;j<bsiEE;j*)(if(buf(J|i)=-1)printf(!l%2c",'x);eUe口rintf2dbMIjlhlhyprintf(l,!in|+卡-|Xn11);priMf(B,riiPagewaporderis:J;for(1.-a;1<K+ij1+<)printf(AJd1queueij);prtMf&qu

13、ot;n”hprintf("ThereareNdpagefaultsAntfK+lhprintf("PagefaultrateisW.lfAn",(float)(K+l)/psizeH主目錄:voidmenu。25fi4£jtfPrxni>1*率率*本本凈凈室軍軍軍率凈KEtrafifC率率率不軍軍用木格軍軍年率寄*Gt?率星率率率率室率/律11Jprintf('"*WelcometothePage-ReplacementProj!printf("卡否水k*4*jMi社*林*4*水"")printf(

14、',*1,Generaterandompage-referencestring*rr的printft"*3FIFOAlgorithm*rT)printf("*3,LRUAlgorithm*n"2C5printfC1"*41Quit*+n'')printf(1t1MH1k*51dt:iM(1tt1tt1aMe)一.主函數(shù):2tfi2TO27137?273an275276279279湖2B1施233孫205通287168iotmain(intargc,constchar*argv)<intchoi"=0;while(c

15、hoice!4)(me-nut);printf("Pleaseselectthefunction:H);scanf("'WS'choice);switch(choice)case 1 :geriperatei);break;case 2 :printf("FIFOAlgorithm:n,flhFIFOOjclearO;prlntf(,Bnw);break;case 3 :printf(SlLRU1AlgorithmLRU();cleart);printfbreak;case 4 ;printf(11End»W);break;default

16、:printf("Wrongnurniber!Pleasein-putag3in!"p);printfCAn"hbreak;return0;五、運(yùn)行結(jié)果:1. 運(yùn)行程序顯示主目錄界面:* 9目印*»1£率*¥*9#軍*|£*呼*總坤*:*坤中¥»歸科£*半* *WelcometothePage-ReplacementProj!*3fCJC331C«C5e3|C3|C5(|C3C3|C3C3jC5|SS|t3|C5E5CJCSCC3fC3C3O|S|C3C31C* *1Generater

17、andompage-referencestring* *2.FIFOAlgorithm* *3.LRUAlgorithm* *4.Quit* *和£*t*中*種*Pleaseselectthefunction:2. 選擇操作1,生成psize(此處為16)個(gè)隨機(jī)數(shù)(09)序列:1rHe3M1nlit11r1n1n* *WelcometothePage-ReplacementProj!* *1.Generaterandonpage-referencestring* *2.FIFOAlgorithm* *3.LRUAlgorithm* *4.Quit*31第*iQ|t*m中坤*宰牛*j注

18、*/1松c*和*|e*1附"*3(蟀*率率*凈平率率Pleaseselectthefunction:1Therandlompage-referencestringis:15336320820195913.選擇操作2,執(zhí)行FIFO算法,并輸出運(yùn)行結(jié)果:4ufuft3fc4ut31u(s|c31t4o|c*31o*3K>c34c|ejfufu|D|ca|u|u|u|e4u* *WelcometothePage-ReplacementProj1* 3和K* *1.Generaterandompage-referencestring* *2,FIFOAlgorithm* *3.LRUA

19、lgorithm* *4.Quit*Pleaseselectthefunction:2FIFOAlgorithm:Currentstateis:Thereare12pagefaults.Pagefaultrateis0.7500.4. 選擇操作3,執(zhí)行LRUB法,并輸出運(yùn)行結(jié)果:*1,*2.3.它4.2K率霹隼率半率宰*率率*宰軍軍軍軍*年率率率率率*隼簾K率率率*率率率本率率年率本年率率*WelcometothePage-ReplacementProj!-I.Li-|Uj_I35=K;35Generaterandompage-referencestring*FIFOAlgorithm*LRU

20、Algorithm*Quit*Thereare10pagefaults.PagefaultrateisEL6250.Pleaseselectthefunction:3LRUAlgorithm 選擇操作4,輸出end,結(jié)束程序:* *WelcometothePage-ReplacementProj!*#*44*110利*|£*3|坤*4£*3日1*3粒件*34*!*£*5"*利£料件*相4坤* *1.Generaterandompage-referencestring* *2.FIFOAlgorithm* *3.LRUAlgorithm* *4,Quit*Pleaseselectthefunction:4End.Programendedwithexitcode:0六、不同頁幀數(shù)比較:1.3frames:Currentstateis:一?山.+一7|7ae1171g,ta1!

溫馨提示

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

評論

0/150

提交評論