FIFO算法實(shí)驗(yàn)報(bào)告(共9頁)_第1頁
FIFO算法實(shí)驗(yàn)報(bào)告(共9頁)_第2頁
FIFO算法實(shí)驗(yàn)報(bào)告(共9頁)_第3頁
FIFO算法實(shí)驗(yàn)報(bào)告(共9頁)_第4頁
FIFO算法實(shí)驗(yàn)報(bào)告(共9頁)_第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)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí) 驗(yàn) 報(bào) 告 課程名稱 學(xué)生所在系部 年級(jí) 專業(yè)、班級(jí) 學(xué)生姓名 學(xué)號(hào) 任課教師 實(shí)驗(yàn)成績(jī) 軟件工程系制一、 實(shí)驗(yàn)題目:先進(jìn)先出(FIFO)頁面置換算法和最近最久未使用(LRU)置換算法程序設(shè)計(jì)二、 實(shí)驗(yàn)?zāi)康模和ㄟ^對(duì)FIFO,LRU算法的模擬,進(jìn)一步理解進(jìn)程的基本概念,加深對(duì)進(jìn)程運(yùn)行狀態(tài)和進(jìn)程調(diào)度過程、調(diào)度算法的理解。三、 實(shí)驗(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)境。四、 實(shí)驗(yàn)內(nèi)容及要求:(1)用C語言編程實(shí)現(xiàn)對(duì)FIFO,LRU算法的模擬。(

2、2)每個(gè)用來標(biāo)識(shí)進(jìn)程的進(jìn)程控制塊PCB可用結(jié)構(gòu)來描述,包括以下字段:五、實(shí)驗(yàn)方法內(nèi)容1. 算法流程圖開始檢查內(nèi)存是否有空閑塊選擇最先進(jìn)入的頁面置換讀入訪問頁面信息存入頁面輸出置換出的頁面序號(hào)結(jié)束未讀完已讀完有無2. 主要的常量變量char a;int m=4,n=12,i,y12=1,2,3,4,1,2,5,1,2,3,4,5;主要模塊void FIFO(void);void LRU(void);void Xunhuan()void main()四代碼#include"stdio.h"#include"stdlib.h"#include"tim

3、e.h"void FIFO(void);void LRU(void);char a;int m=4,n=12,i,y12=1,2,3,4,1,2,5,1,2,3,4,5; /*m為物理塊數(shù),n為要訪問的頁面數(shù)*/typedef struct page int num; int time;Page;Page x10;int GetMax(page *x) int i; int max=-1; int tag=0; for(i=0;i<m;i+) if(xi.time>max) max=xi.time; tag=i; return tag;void Xunhuan() pri

4、ntf("Please select 1:FIFO算法n 2:LRU算法n"); scanf("%s",&a); printf("物理塊數(shù):4n"); /scanf("%d",&m); for(i=0;i<m;i+) xi.num=-1; printf("所要訪問的頁面數(shù):12n"); /scanf("%d",&n); /srand(time(NULL); printf("所要訪問的頁面號(hào)序列為:"); for(i=0;i&l

5、t;n;i+) printf("%d ",yi); printf("n"); printf("頁面置換步驟如下:n"); switch(a) case '1':FIFO();break; case '2':LRU(); break; void main() char a; Xunhuan(); while(1) printf("Continue or Exit:C/Anykey:n"); scanf("%s",&a); if(a='c'|a

6、='C') Xunhuan(); else break; exit(0);void FIFO(void) int i,j,u; for(i=0;i<m;i+) xi.time=0; x0.num=y0; x0.time=1; printf(" %d n",x0.num); for(i=1;i<n;i+) u=0; for(j=0;j<m;j+) if(xj.num=yi) u=1; break; if(u!=1&&xm-1.num!=-1) j=GetMax(x); xj.num=yi; xj.time=0; if(u!=1

7、&&xm-1.num=-1) for(j=0;j<m;j+) if(xj.num=-1) xj.num=yi; break; for(j=0;j<m;j+) if(xj.num!=-1) xj.time+; for(j=0;j<m;j+) if(xj.num=-1) printf("%2c ",32); else printf("%2d ",xj.num); printf("n"); void LRU() int i,j,u; for(i=0;i<m;i+) xi.time=0; x0.num=

8、y0; x0.time=1; printf(" %d n",x0.num); for(i=1;i<n;i+) u=0; for(j=0;j<m;j+) if(xj.num=yi) xj.time=0; u=1; break; if(u!=1&&xm-1.num!=-1) j=GetMax(x); xj.num=yi; xj.time=0; if(u!=1&&xm-1.num=-1) for(j=0;j<m;j+) if(xj.num=-1) xj.num=yi; break; for(j=0;j<m;j+) if(xj

9、.num!=-1) xj.time+; for(j=0;j<m;j+) if(xj.num=-1) printf("%2c ",32); else printf("%2d ",xj.num); printf("n"); 五、 實(shí)驗(yàn)結(jié)果1. 執(zhí)行結(jié)果2. 結(jié)果分析由結(jié)果可以看出,使用FIFO算法,總是淘汰最先進(jìn)入內(nèi)存的頁面,即即選擇在內(nèi)存中駐留時(shí)間最久的頁面予以淘汰。使用LRU算法則是選擇最近最久未使用的頁面予以淘汰。 七、實(shí)驗(yàn)總結(jié)這次實(shí)驗(yàn)讓我深刻理解了FIFO和LRU算法。由于FIFO所依據(jù)的條件是各個(gè)頁面存入的時(shí)間,而頁面調(diào)入的先后并不能反映頁面的使用情況,所以FIFO算法的性能較差。LRU算法相對(duì)較好。通過這個(gè)實(shí)驗(yàn)我體會(huì)到了

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論