



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、精品# include# include# define pagesize 8 / 頁面尺寸大小typedef struct BLOCK / 聲明一種新類型-物理塊類型int pagenum; / 頁號int accessed; / 訪問量,其值表示多久未被訪問BLOCK;int pc; / 程序計數(shù)器,用來記錄對應(yīng)的頁號int n; / 缺頁計數(shù)器,用來記錄缺頁的次數(shù)static int num320; /用來存儲 320 條隨機數(shù)BLOCK blockpagesize; /定義一大小為8 的物理塊數(shù)組void init(); / 程序初始化函數(shù)int findExist(int curpa
2、ge); /查找物理塊中是否有該頁面int findSpace(); / 查找是否有空閑物理塊int findReplace(); / 查找應(yīng)予置換的頁面void display (); / 顯示void randam(); / 產(chǎn)生 320 條隨機數(shù) ,顯示并存儲到num320void pagestring(); / 顯示調(diào)用的頁面隊列void OPT();void LRU();void FIFO();void main()int select;printf( 請輸入第一個隨機數(shù)(0320):);randam();printf(*對應(yīng)的調(diào)用頁面隊列*n);pagestring();dopri
3、ntf(*n);printf(-1:OPT 2:LRU 3:FIFO 4:退出 -n);printf(*n);printf( 請選擇一種頁面置換算法:);scanf(%d,&select);printf(*n);init();switch(select)感謝下載載精品case 1:printf( 最佳置換算法OPT:n);printf(*n);OPT();break;case 2:printf( 最近最久未使用置換算法LRU:n);printf(*n*);LRU();break;case 3:printf( 先進先出置換算法FIFO:n);printf(*n);FIFO();break;whi
4、le(select!=4);void init()for(int i=0;ipagesize;i+)blocki.pagenum=-1;blocki.accessed=0;pc=n=0;int findExist(int curpage)for(int i=0; ipagesize; i+)if(blocki.pagenum = curpage )return i; / 檢測到內(nèi)存中有該頁面,返回block 中的位置return -1;int findSpace()for(int i=0;ipagesize;i+)if(blocki.pagenum=-1)感謝下載載精品return i; /
5、找到空閑的block,返回 block 中的位置return -1;int findReplace()int pos = 0;for(int i=0;iblockpos.accessed)pos = i; / 找到應(yīng)該置換頁面,返回BLOCK中位置return pos;void display()for(int i=0; ipagesize; i+)if(blocki.pagenum != -1)printf( %02d,blocki.pagenum);printf(n);void randam() int flag=0;scanf(%d,&pc);printf(*按照要求產(chǎn)生的320 個隨機
6、數(shù): *n);for(int i=0;i320;i+)numi=pc;if(flag%2=0)pc=+pc%320;if(flag=1)pc=rand()%(pc-1);if(flag=3)pc=pc+1+(rand()%(320-(pc+1);flag=+flag%4;printf( %03d,numi);if(i+1)%10=0)感謝下載載精品printf(n);void pagestring() / 顯示調(diào)用的頁面隊列 ,頁面號取法為隨機數(shù)除10 取整for(int i=0;i320;i+)printf( %02d,numi/10);if(i+1)%10=0)printf(n);void
7、 OPT() / 最佳替換算法int exist,space,position;int curpage;for(int i=0;i320;i+)pc=numi;curpage=pc/10;exist=findExist(curpage);if(exist=-1)space=findSpace();if(space != -1)blockspace.pagenum = curpage;display();n=n+1;elsefor(int k=0;kpagesize;k+)for(int j=i;j320;j+)if(blockk.pagenum!= numj/10)blockk.accesse
8、d = 1000; / 將來不會用,設(shè)置為一個很大數(shù)else感謝下載載精品blockk.accessed = j;break;position = findReplace();blockposition.pagenum = curpage;display();n+;printf( 缺頁次數(shù) :%dn,n);printf( 缺頁率 :%f%n,(n/320.0)*100);void LRU() / 最近最久未使用算法int exist,space,position ;int curpage;for(int i=0;i320;i+)pc=numi;curpage=pc/10;exist = fin
9、dExist(curpage);if(exist=-1) space = findSpace();if(space != -1)blockspace.pagenum = curpage;display();n=n+1;elseposition = findReplace();blockposition.pagenum = curpage;display();n+;elseblockexist.accessed = -1;/ 恢復(fù)存在的并剛訪問過的BLOCK中頁面 accessed 為 -1for(int j=0; jpagesize; j+)感謝下載載精品blockj.accessed+;pr
10、intf( 缺頁次數(shù) :%dn,n);printf( 缺頁率 :%f%n,(n/320.0)*100);void FIFO() / 先進先出算法int exist,space,position ;int curpage;for(int i=0;i320;i+)pc=numi;curpage=pc/10; / 轉(zhuǎn)換為頁面號exist = findExist(curpage); /查找物理塊中是否有該頁面,沒有的話,置為-1if(exist=-1)space = findSpace();/ 查找是否有空的物理塊,沒有的話,置為-1;有的話,把位置返回if(space != -1)blockspace.pagenum=curpage;display();n=n+1;elseposition = findReplace(); /沒有空閑物理塊,進行置換blockposition.pagenum = curpage;display();n+;blockpositio
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會計機考試題及答案
- aopa考試題及答案
- c1科一考試題及答案
- 醫(yī)美培訓(xùn)試題及答案
- 法學(xué)通論考試題及答案
- 專職隊員招聘考試試題及答案
- 2025年分子科學(xué)與工程專業(yè)畢業(yè)設(shè)計開題報告
- 2025年材料科學(xué)與工程專業(yè)畢業(yè)設(shè)計開題報告
- 2025年浙江社工招聘考試題庫
- 2025年運動統(tǒng)計學(xué)試題及答案
- 個人退款申請書范文
- 2025年云南能投新能源產(chǎn)業(yè)園區(qū)投資開發(fā)有限公司招聘筆試參考題庫附帶答案詳解
- 第十章《浮力》達(dá)標(biāo)測試卷(含答案)2024-2025學(xué)年度人教版物理八年級下冊
- 2025年中國礦產(chǎn)資源集團有限公司招聘筆試參考題庫含答案解析
- 從臨床到教育兒童中醫(yī)課程的開發(fā)與推廣匯報
- 銀行安全保衛(wèi)知識競賽題庫及答案(300題)
- 建筑施工現(xiàn)場危廢管理辦法
- 《信息報送培訓(xùn)》課件
- 品管圈PDCA獲獎案例-心內(nèi)科降低心肌梗死患者便秘發(fā)生率醫(yī)院品質(zhì)管理成果匯報
- 編程積木課件教學(xué)課件
- 新高考數(shù)學(xué)高頻考點+題型專項千題百練(新高考適用)專題03復(fù)數(shù)必刷100題(原卷版+解析)
評論
0/150
提交評論