2024年FIFO算法實(shí)驗(yàn)報(bào)告_第1頁
2024年FIFO算法實(shí)驗(yàn)報(bào)告_第2頁
2024年FIFO算法實(shí)驗(yàn)報(bào)告_第3頁
2024年FIFO算法實(shí)驗(yàn)報(bào)告_第4頁
2024年FIFO算法實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)報(bào)告課程名稱學(xué)生所在系部年級(jí)專業(yè)、班級(jí)學(xué)生姓名學(xué)號(hào)任課教師試驗(yàn)成績(jī)軟件工程系制試驗(yàn)題目:先進(jìn)先出(FIFO)頁面置換算法和近來最久未使用(LRU)置換算法程序設(shè)計(jì)試驗(yàn)?zāi)康模和ㄟ^對(duì)FIFO,LRU算法的模擬,深入理解進(jìn)程的基本概念,加深對(duì)進(jìn)程運(yùn)行狀態(tài)和進(jìn)程調(diào)度過程、調(diào)度算法的理解。試驗(yàn)設(shè)備及環(huán)境:1.硬件設(shè)備:PC機(jī)一臺(tái)2.軟件環(huán)境:安裝Windows操作系統(tǒng)或者Linux操作系統(tǒng),并安裝有關(guān)的程序開發(fā)環(huán)境,如C\C++\Java等編程語言環(huán)境。試驗(yàn)內(nèi)容及規(guī)定:(1)用C語言編程實(shí)現(xiàn)對(duì)FIFO,LRU算法的模擬。(2)每個(gè)用來標(biāo)識(shí)進(jìn)程的進(jìn)程控制塊PCB可用構(gòu)造來描述,包括如下字段:五、試驗(yàn)措施內(nèi)容算法流程圖開始開始檢查內(nèi)存與否有空閑塊選擇最先進(jìn)入的頁面置換讀入訪問頁面信息存入頁面輸出置換出的頁面序號(hào)結(jié)束未讀完已讀完有無重要的常量變量chara;intm=4,n=12,i,y[12]={1,2,3,4,1,2,5,1,2,3,4,5};重要模塊voidFIFO(void);voidLRU(void);voidXunhuan()voidmain()四.代碼#include"stdio.h"#include"stdlib.h"#include"time.h"voidFIFO(void);voidLRU(void);chara;intm=4,n=12,i,y[12]={1,2,3,4,1,2,5,1,2,3,4,5};/*m為物理塊數(shù),n為要訪問的頁面數(shù)*/typedefstructpage{intnum;inttime;}Page;Pagex[10];intGetMax(page*x){inti;intmax=-1;inttag=0;for(i=0;i<m;i++){if(x[i].time>max){max=x[i].time;tag=i;}}returntag;}voidXunhuan(){printf("Pleaseselect1:FIFO算法\n2:LRU算法\n");scanf("%s",&a);printf("物理塊數(shù):4\n");//scanf("%d",&m);for(i=0;i<m;i++){x[i].num=-1;}printf("所要訪問的頁面數(shù):12\n");//scanf("%d",&n);//srand(time(NULL));printf("所要訪問的頁面號(hào)序列為:");for(i=0;i<n;i++)printf("%d",y[i]);printf("\n");printf("頁面置換環(huán)節(jié)如下:\n");switch(a){case'1':FIFO();break;case'2':LRU();break;}}voidmain(){chara;Xunhuan();while(1){printf("ContinueorExit:C/Anykey:\n");scanf("%s",&a);if(a=='c'||a=='C')Xunhuan();elsebreak;}exit(0);}voidFIFO(void){inti,j,u;for(i=0;i<m;i++)x[i].time=0;x[0].num=y[0];x[0].time=1;printf("%d\n",x[0].num);for(i=1;i<n;i++){u=0;for(j=0;j<m;j++)if(x[j].num==y[i]){u=1;break;}if(u!=1&&x[m-1].num!=-1){j=GetMax(x);x[j].num=y[i];x[j].time=0;}if(u!=1&&x[m-1].num==-1){for(j=0;j<m;j++){if(x[j].num==-1){x[j].num=y[i];break;}}}for(j=0;j<m;j++)if(x[j].num!=-1)x[j].time++;for(j=0;j<m;j++)if(x[j].num==-1)printf("%2c",32);elseprintf("%2d",x[j].num);printf("\n");}}voidLRU(){inti,j,u;for(i=0;i<m;i++)x[i].time=0;x[0].num=y[0];x[0].time=1;printf("%d\n",x[0].num);for(i=1;i<n;i++){u=0;for(j=0;j<m;j++)if(x[j].num==y[i]){x[j].time=0;u=1;break;}if(u!=1&&x[m-1].num!=-1){j=GetMax(x);x[j].num=y[i];x[j].time=0;}if(u!=1&&x[m-1].num==-1){for(j=0;j<m;j++){if(x[j].num==-1){x[j].num=y[i];break;}}}for(j=0;j<m;j++)if(x[j].num!=-1)x[j].time++;for(j=0;j<m;j++)if(x[j].num==-1)printf("%2c",32);elseprintf("%2d",x[j].num);printf("\n");}}試驗(yàn)成果執(zhí)行成果成果分析由成果可以看出,使用FIFO算法,總是淘汰最先進(jìn)入內(nèi)存的頁面,即即選擇在內(nèi)存中駐留時(shí)間最久的頁面予以淘汰。使用LRU算法則是選擇近來最久未使用的頁面予以淘汰。七、試驗(yàn)總結(jié)這次試驗(yàn)讓我深刻理解了FIFO和LRU算法。由于FIFO所根據(jù)的條件是各個(gè)頁面存入的時(shí)間,而頁面調(diào)入的先後并不能反應(yīng)頁面的使用狀況,因此F

溫馨提示

  • 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)論