操作系統(tǒng)七次實(shí)驗(yàn)報(bào)告常用頁面置換算法模擬實(shí)驗(yàn)_第1頁
操作系統(tǒng)七次實(shí)驗(yàn)報(bào)告常用頁面置換算法模擬實(shí)驗(yàn)_第2頁
操作系統(tǒng)七次實(shí)驗(yàn)報(bào)告常用頁面置換算法模擬實(shí)驗(yàn)_第3頁
操作系統(tǒng)七次實(shí)驗(yàn)報(bào)告常用頁面置換算法模擬實(shí)驗(yàn)_第4頁
操作系統(tǒng)七次實(shí)驗(yàn)報(bào)告常用頁面置換算法模擬實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、操作系統(tǒng)課程第七次實(shí)驗(yàn)報(bào)告姓名學(xué)號(hào)系計(jì)算機(jī)任課教師賀輝指導(dǎo)教 師賀輝評(píng)閱教師賀輝實(shí)驗(yàn)地點(diǎn)綜合樓B102實(shí)驗(yàn)時(shí)間2012-9-26實(shí)驗(yàn)課表 現(xiàn)出勤和個(gè)人表現(xiàn)Q1(15+15(組長評(píng)分)=30分)得分:實(shí)驗(yàn) 總分(Q1+Q2+ Q3+Q4)實(shí)驗(yàn)完成情況Q2(45分(組 長與教師評(píng)分的加權(quán)平均)得分:實(shí)驗(yàn)編號(hào)與實(shí)驗(yàn)名稱:實(shí)驗(yàn)七、常用頁而置換算法模擬實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模和ㄟ^模擬實(shí)現(xiàn)請(qǐng)求頁式存儲(chǔ)管理的幾種基本頁面置換算法,了解虛擬存儲(chǔ)技術(shù)的特點(diǎn), 掌握虛擬存儲(chǔ)請(qǐng)求頁式存儲(chǔ)管理中幾種基本頁面置換算法的基本思想和實(shí)現(xiàn)過程,并比較它 們的效率。實(shí)驗(yàn)內(nèi)容及要求(詳見實(shí)驗(yàn)講義與實(shí)驗(yàn)指導(dǎo)書):要求:1)要求用你熟悉的程序

2、設(shè)計(jì)語言編寫和調(diào)試一個(gè)頁面置換模擬程序;要求在主函數(shù)中測試。2)實(shí)驗(yàn)報(bào)告中必須包括:設(shè)計(jì)思想、數(shù)據(jù)定義(包括詳細(xì)說明) 、處理流程(詳細(xì)算法描述和算法流程圖)、源代碼、運(yùn)行結(jié)果、體會(huì)等部分。3)必須模擬本實(shí)驗(yàn)內(nèi)容中提到的算法 中的至少2種頁面置換算法。4)比較不同頁面置換算法的效率內(nèi)容:編寫一個(gè)程序,使用以下頁面置換算法中的某2種分別模擬一個(gè)分頁系統(tǒng),并統(tǒng)計(jì)同一個(gè)頁面訪問序列情況下不同頁面置換算法引發(fā)的缺頁中斷次數(shù)。1、第二次機(jī)會(huì)算法(Second Chance)2、最近最少使用算法(Least Recently Used, LRU )3、最不常用算法(Not Frequently Used,

3、 NFU)4、最近未使用算法(Not Recently Used , NRU)5、時(shí)鐘頁面置換算法6、老化算法(aging)頁框的數(shù)量固定為 4,虛擬頁面數(shù)為8。實(shí)驗(yàn)輸入為訪問頁面序列,比如0, 1 ,3,2,7, 1實(shí)驗(yàn)用到的軟件(:)DevC+,Visio實(shí)驗(yàn)內(nèi)容及關(guān)鍵步驟(代碼)Q3 (15分)得分:流程圖:調(diào)入所訪問的頁面FIFO算法流程圖LRU算法流程圖:6、頁面調(diào)度槿瘟算法流程圉示例心)FIFO函數(shù)關(guān)系解釋圖:#define PROESS_SIZE 8/* 頁面號(hào)引用用個(gè)數(shù) */#include <stdio.h>#include <stdlib.h>/*全

4、局變量*/int mSIZE=4;int pSIZE=8;static int memery4=0;/* 物理塊中的頁號(hào) */static int page8=0; /* 頁面號(hào)引用用 */static int temp84=0; /* 輔助數(shù)組 */*置換算法函數(shù)*/void FIFO();void LRU();void OPT();void designBy();/*輔助函數(shù)*/void print(unsigned int t);/*主函數(shù)*/int main()int i,k,code;designBy();system("color 0A");puts("

5、;請(qǐng)依次輸入頁面號(hào)(8個(gè)):");for(i=0;i<pSIZE;i+)scanf("%1d",&pagei);system("cls");system("color 0E");doputs("輸入的頁面號(hào)引用用為:");for(k=0;k<=(pSIZE-1)/20;k+)for(i=20*k;(i<pSIZE)&&(i<20*(k+1);i+)if(i+1)%20=0)|(i+1)%20)&&(i=pSIZE-1) printf(&quo

6、t;%dn",pagei);else printf("%d ",pagei); printf("* * * * * * * * * * * * * * * * * * * * * * *n");printf("*請(qǐng)選擇頁面置換算法:ttt *n");printf("*n");printf("* 1.先進(jìn)先出(FIFO)2.最近最久未使用(LRU) *n");printf("* 3.退出*n")printf("* *n");printf("

7、;請(qǐng)選擇操作:bb");scanf("%d”,&code);switch(code)case 1:FIFO(); break;case 2:LRU();break;case 3:system("cls");system("color 0A");exit(0);default:printf("輸入錯(cuò)誤,請(qǐng)重新輸入:");printf("按任意鍵重新選擇置換算法:>>>");getch();system("cls");while (code!=3);ge

8、tch();void print(unsigned int t)int i,j,k,l;int flag;for(k=0;k<=(pSIZE-1)/20;k+)for(i=20*k;(i<pSIZE)&&(i<20*(k+1);i+)if(i+1)%20=0)|(i+1)%20)&&(i=pSIZE-1) printf("%dn",pagei);elseprintf("%d ",pagei);for(j=0.mSIZE;j+)for(i=20*k;(i<mSIZE+20*k)&&(i

9、<pSIZE);i+)if(i>=j)printf(" |%d|",tempij);elseprintf(" | |");for(i=mSIZE+20*k;(i<pSIZE)&&(i<20*(k+1);i+)for(flag=0,l=0;l<mSIZE;l+)if(tempil=tempi-1l)flag+;if(flag=mSIZE)/*頁面在物理塊中*/ printf(" ");elseprintf(" |%d|",tempij);/*每行顯示20個(gè)*/if(i%2

10、0=0)continue;printf("n");printf("An");printf("缺頁次數(shù):%dtt”,t+mSIZE);printf("缺頁率:%d/%dn”,t+mSIZE,pSIZE);printf("置換次數(shù):%dtt",t);printf("訪問命中率:d%n”,(pSIZE-(t+mSIZE)*100/pSIZE);printf("An");/*先進(jìn)先出頁面置換算法*/void FIFO()int memery10=0;int time10=0;/*記錄進(jìn)入物理塊

11、的時(shí)間*/int i,j,k,m;int max=0; /*記錄換出頁*/int count=0; /*記錄置換次數(shù)*/*前mSIZE個(gè)數(shù)直接放入*/for(i=0;i<mSIZE;i+)memeryi=pagei;timei=i;for(j=0;j<mSIZE;j+)tempij=memeryj;for(i=mSIZE;i<pSIZE;i+)/*判斷新頁面號(hào)是否在物理塊中 */for(j=0,k=0;j<mSIZE;j+) if(memeryj!=pagei) k+; if(k=mSIZE)/*如果不在物理塊中*/ count+;/*計(jì)算換出頁*/max=time0&

12、lt;time1?0:1;for(m=2;m<mSIZE;m+) if(timem<timemax) max=m;memerymax=pagei;timemax=i; /*記錄該頁進(jìn)入物理塊的時(shí)間*/ for(j=0;j<mSIZE;j+)tempij=memeryj; else for(j=0;j<mSIZE;j+) tempij=memeryj;print(count);/*最近最久未使用置換算法*/void LRU() int memery10=0;int flag10=0;/*記錄頁面的訪問時(shí)間*/int i,j,k,m;int max=0; /*記錄換出頁*/

13、int count=0; /*記錄置換次數(shù)*/*前mSIZE個(gè)數(shù)直接放入*/ for(i=0;i<mSIZE;i+) memeryi=pagei; flagi=i;for(j=0;j<mSIZE;j+) tempij=memeryj;for(i=mSIZE;i<pSIZE;i+)(/*判斷新頁面號(hào)是否在物理塊中*/ for(j=0,k=0;j<mSIZE;j+) (if(memeryj!=pagei) k+;elseflagj=i; /*刷新該頁的訪問時(shí)間*/if(k=mSIZE) /*如果不在物理塊中*/(count+;/*計(jì)算換出頁*/max=flag0<fl

14、ag1?0:1;for(m=2;m<mSIZE;m+) if(flagm<flagmax) max=m;memerymax=pagei;flagmax=i;/*記錄該頁的訪問時(shí)間*/for(j=0;j<mSIZE;j+) tempij=memeryj;else(for(j=0;j<mSIZE;j+) tempij=memeryj;/ compute();print(count);/*顯示設(shè)計(jì)者信息*/void designBy()(printf(" 1n")printf(" | 實(shí)驗(yàn)七:頁面置換算法 I n")printf(" |學(xué)號(hào):1001010042| n")printf(" |姓名:黃浩全 <Dev-C+ 4.9.9.0> | n");printf(" |1n");實(shí)驗(yàn)過程中遇到的問題解決辦法與實(shí)驗(yàn)體會(huì) Q4(需手寫,10得分: 分)1、在FIFO算法可以很容易用數(shù)組實(shí)現(xiàn),而 LRU算法可以用數(shù)組實(shí)現(xiàn),不過用結(jié) 構(gòu)體會(huì)更明顯簡單。結(jié)構(gòu)體成員變量可以

溫馨提示

  • 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. 人人文庫網(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)論