版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《操作系統(tǒng)原理》
上機(jī)作業(yè)(報(bào)告)作業(yè): 頁面淘汰算法作業(yè)編號(hào) 6題目 頁面淘汰/置換算法【題目要求】通過模擬實(shí)現(xiàn)請(qǐng)求頁式存儲(chǔ)管理的幾種基本頁面置換算法,了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),掌握虛擬存儲(chǔ)請(qǐng)求頁式存儲(chǔ)管理中幾種基本頁面置換算法的基本思想和實(shí)現(xiàn)過程,并比較它們的效率。針對(duì)一個(gè)頁框,根據(jù)實(shí)驗(yàn)數(shù)據(jù),以O(shè)PT算法為參考,研究FIFO頁面淘汰算法、LRU頁面淘汰以及CLOCK算法針對(duì)同一批實(shí)驗(yàn)數(shù)據(jù)的缺頁率,以及研究在不同頁框設(shè)置下的各算法缺頁率表現(xiàn)情況。頁面引用序列為:4,3,2,1,4,3,5,4,3,2,1,5(1) 固定分配局部置換情況下,駐留集大小為3,針對(duì)該內(nèi)存頁面引用序列模擬各算法的運(yùn)行過程,并計(jì)算缺頁率。(2) 模擬駐留集大小為4和5的情況下各算法的運(yùn)行過程和缺頁率。其菜單如下:內(nèi)存分配和回收***********0.退出OPT算法實(shí)現(xiàn)LRU算法實(shí)現(xiàn)FIFO算法實(shí)現(xiàn)CLOCK算法作業(yè)要求顯示缺頁率對(duì)比表作業(yè)要求【實(shí)習(xí)要求】可選編程語言:C/C++/Java/C#/Python;實(shí)現(xiàn)在同一個(gè)程序文件中(C/C++);請(qǐng)適當(dāng)注釋;【實(shí)現(xiàn)提示】所需變量N:程序執(zhí)行需要訪問的頁面數(shù)Msize:內(nèi)存中可容納的頁數(shù)lack:在一次頁面走向序列中用來統(tǒng)計(jì)缺頁次數(shù)rate:缺頁次數(shù)/總頁數(shù)變量聲明如下圖所示:#defineN26!〃內(nèi)存頁個(gè)數(shù)intMsize;〃缺頁率floatrate;缺頁數(shù)intlack;隊(duì)列結(jié)構(gòu)頁面引用序列pages[N]和內(nèi)存容量Memory[m]均用簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)線
取i估荀Z宿荀,,?T7'i■;rHs.-in現(xiàn)ftp。聳也因理CLOCE箕法ri4^-ii'il^法,現(xiàn)法買現(xiàn)CLOCE算法Ii4取i估荀Z宿荀,,?T7'i■;rHs.-in現(xiàn)ftp。聳也因理CLOCE箕法ri4^-ii'il^法,現(xiàn)法買現(xiàn)CLOCE算法Ii4詵弋土Tt,.擊派買現(xiàn)'.:、時(shí)piposKsaCLOCEKjfeJi4詼弋土TM蕓性表實(shí)現(xiàn),其聲明如圖所示:intpages"N]intmemory[5]報(bào)告正文(運(yùn)行屏幕截圖及源代碼),.■'F:慎面舊面用強(qiáng)其瑟點(diǎn)艱顯示映頁聿時(shí)就喪= +:j.bt::::LI?:LM三洛無*+:J-世::::I*內(nèi).存jjpg和可咬三永左F_bCP$:土:U.t::::Jixxh*#*內(nèi).樣■;i=j和回收,***¥*:引111rUu王現(xiàn)ERnSiKSfipdkX^kcloce箕法一.截圖。_*御米女相■**味**左*內(nèi).存分和回收女**永*巾**味**_____mm—m—sssm—m——m—s且u.X“]-(Ir夏』實(shí)現(xiàn)EMT套買現(xiàn)PT7.H.:、?■理■"'J.話涌>< d*豆奉7■:U.r...JJ【選做內(nèi)容】改進(jìn)型CLOCK算法實(shí)現(xiàn)。構(gòu)造一個(gè)頁面引用序列,并出現(xiàn)Belady現(xiàn)象。
'5心二51;intTo_right(intindex,intpage)〃計(jì)算本頁從現(xiàn)在到之后的需要多久{心index+1;while(pages[i]!=0&&i<20)if(pages[i]==page)「”'"'ndex;return10000;intIs_Lack()〃判斷內(nèi)存是否沒裝滿頁,并返回空位的indexinti;for(i=0;i<Msize;i++)"…0)}f51;intIs_exist(intpage)〃判斷改page是否已在內(nèi)存中,若有返回indexinti;for(i=0;i<Msize;i++)}}voidOPT() 〃最佳置換算法inti,j,k,longest_page_index;for(i=0;pages[i]!=0;i++)if(Is_Lack()!=-1)〃如果內(nèi)存還沒裝滿j=Is_Lack(); //取出memery里的空位indexif(Is_exist(pages[i])!=-1)//如果當(dāng)前page已在memery中}continue;else smemery中memery[j]=pages[i];}continue;else//memery已裝滿,進(jìn)行淘汰頁面if(Is_exist(pages[i])!=-1){continue;i}ntl,m,n;longest_page_index=0;n=0;for(l=0;l<Msize;l++)〃找以后最久才會(huì)訪問的pagem=To_right(i,memery[l]);if(m>n)n=m;"…崢=l;memery[longest_page_index]=pages[i];}}}ivoidLRU() 〃最近最久置換算法inti,j,k,longest_page_index;for(i=0;pages[i]!=0;i++)if(Is_Lack()!=-1)〃如果內(nèi)存還沒裝滿j=Is_Lack(); //取出memery里的空位indexif(Is_exist(pages[i])!=-1)//如果當(dāng)前page已在memery中}continue;else "并不在memery中memery[j]=pages[i];}continue;else//memery已裝滿,進(jìn)行淘汰頁面if(Is_exist(pages[i])!=-1){continue;心n;longest_page_index=0;n=0;for(l=0;l<Msize;l++)//找以后最久才會(huì)訪問的pagem=To_left(i,memery[l]);if(m>n)n=m;"…崢=l;memery[longest_page_index]=pages[i];.iintGet_First_Come_Page_Index(int*timer)〃找到內(nèi)存中最先來的其indexinti,min=10000,index;for(i=0;i<Msize;i++)if(min>timer[i])'…;—峻voidFIFO() 〃先進(jìn)先出算法inttimer[10]; //用于記錄內(nèi)存中各頁進(jìn)內(nèi)存的時(shí)間inti,j,k;for(i=0;pages[i]!=0;i++)inttemp_i=Is_exist(pages[i]);if(Is_Lack()!=-1)〃如果內(nèi)存還沒裝滿j=Is_Lack(); //取出memery里的空位indexif(temp_i!=-1)〃如果當(dāng)前page已在memery中timer[temp_i]=i;}continue;else smemery中memery[j]=pages[i];timer[j]=i;}else//memery已裝滿,缺頁中斷,進(jìn)行淘汰頁面if(tempi!=-1){…i;} con-else( intmintimerindex=GetFirstComePageIndex(timer);memery[min_timer_index]=pages[i];timer[mintimerindex]=i;)iintGet_Index_And_Update_Flag(int*flag){for(i=0;i<Msize;i++)if(flag[i]==1)—elseif(flag[i]==0)flag[i]=1;}〃如果找了一圈都沒找到,flag全變?yōu)?flag[i]=0;flag[0]=1;0;voidCLOCK()intflag[10]; 〃用于記錄內(nèi)存中各頁訪問情況inti,j,k;for(i=0;pages[i]!=0;i++)inttemp_i=Is_exist(pages[i]);if(Is_Lack()!=-1)〃如果內(nèi)存還沒裝滿j=Is_Lack(); //取出memery里的空位indexif(temp_i!=-1)〃如果當(dāng)前page已在memery中}continue;else *在meme"中
memery[j]=pages[i];flag。]=1;continue;else//memery已裝滿,缺頁中斷,進(jìn)行淘汰頁面if(temp_i!=-1)〃內(nèi)存里有此頁continue;else〃內(nèi)存里無此頁elseinttemp_index=Get_Index_And_Update_Flag(flag);memery[temp_index]=pages[i];lacknum++;intmain()intflag=0;Msize=3;//默認(rèn)值printf("請(qǐng)輸入內(nèi)存駐留集:\n");scanf("%d”,&Msize);while(1)printf("\n\n*************內(nèi)存分配和回收***********\n'');=\n");printf("printf("0,退出\n1.OPT算法實(shí)現(xiàn)'n2.LRU算法實(shí)現(xiàn)'n3.FIFO算法實(shí)現(xiàn)'n4.CLOCK算法\n5.顯示=\n");缺頁率對(duì)比表\n");=\n");printf("printf("請(qǐng)輸入:\n");=\n");scanf("%d",&flag);switch(flag)case0:return0;case1:Initial();OPT();printf("OPT算法缺頁率為:%f",(lacknum+Msize)*1.0/12);break;2}case2:Initial();LRU();printf("LRU算法缺頁率為:%f",(lacknum+Msize)*1.0/12);break;3}case3:Initial();FIFO();printf("FIFO算法缺頁率為:%f",(lacknum+Msize)*1.0/12);}break;case4:Initial();CLOCK();printf("CLOCK算法缺頁率為:%f",(lacknum+Msize)*1.0/12);}break;case5:'.?.a,b,c,d;Initial();OPT();printf("OPT算法缺頁率為:%f\n",(lacknum+Msize)*1.0/12);Initial();LRU();printf("LRU算法缺頁率為:%f\n",(lacknum+Msize)*1.0/12);Initial();FIFO();printf("FIFO算法缺頁率為:%f\n",(lacknum+Msize)*1.0/12);Initial();CLOCK();printf("CLOCK算法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 押題寶典安全員A證考試通關(guān)考試題庫(kù)(a卷)附答案詳解
- 燃?xì)庑孤┍O(jiān)測(cè)系統(tǒng)實(shí)施方案
- 安全員A證考試通關(guān)試卷提供答案解析【培優(yōu)b卷】附答案詳解
- 2025年山東教師招聘考試(學(xué)前教育)歷年參考題庫(kù)含答案詳解
- 安全員A證考試考前沖刺訓(xùn)練試卷(各地真題)附答案詳解
- 安全員A證考試綜合檢測(cè)提分及完整答案詳解【各地真題】
- 2025年網(wǎng)絡(luò)安全與信息保護(hù)挑戰(zhàn)試題及答案解析
- 物料管理數(shù)字化平臺(tái)建設(shè)方案
- 安全員A證考試考前沖刺訓(xùn)練試卷附完整答案詳解(歷年真題)
- 安全員A證考試考試彩蛋押題含答案詳解【a卷】
- GB/T 3098.5-2025緊固件機(jī)械性能第5部分:自攻螺釘
- GB/T 70.4-2025緊固件內(nèi)六角螺釘?shù)?部分:降低承載能力內(nèi)六角平圓頭凸緣螺釘
- 2026年電商年貨節(jié)活動(dòng)運(yùn)營(yíng)方案
- 譯林版英語六年級(jí)上冊(cè)專題05 首字母填詞100題專項(xiàng)訓(xùn)練含答案
- 耳穴壓豆治療失眠
- 2025至2030全球及中國(guó)航空航天閉模鍛件行業(yè)調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 天興洲現(xiàn)狀條件分析
- 醫(yī)院安全生產(chǎn)培訓(xùn)教育制度
- 臨時(shí)道路施工臨時(shí)設(shè)施施工方案
- 2025新疆生產(chǎn)建設(shè)兵團(tuán)草湖項(xiàng)目區(qū)公安局面向社會(huì)招聘警務(wù)輔助人員考試參考試題及答案解析
- 電吹管保養(yǎng)維護(hù)知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論