操作系統(tǒng)課程設(shè)計實驗報告模板綜述_第1頁
操作系統(tǒng)課程設(shè)計實驗報告模板綜述_第2頁
操作系統(tǒng)課程設(shè)計實驗報告模板綜述_第3頁
操作系統(tǒng)課程設(shè)計實驗報告模板綜述_第4頁
操作系統(tǒng)課程設(shè)計實驗報告模板綜述_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、操作系統(tǒng)課程設(shè)計實驗報告書題 目頁面置換算法之先進先出題目編號:18院系:信息科學(xué)與技術(shù)學(xué)院班級:12級1班小組成員:組長:張海洋學(xué)號:12051004組員:李奔學(xué)號:120510052014-12-31目錄一、課程設(shè)計任務(wù)劃分 1.二、基本原理 1.(一)頁面置換算法定義(二)所使用的算法(三)設(shè)計思想三、基本思路 3.(一)流程圖(二)變量(三)所用函數(shù)四、調(diào)試及實驗結(jié)果 1.2.五、個人體會 2.1.一、課程設(shè)計任務(wù)劃分(此處編輯小組成員的具體分工)成員具體分工張海洋設(shè)計項目流程程序合并實驗報告書書寫李奔程序調(diào)試網(wǎng)上搜索程序資料心得體會二、基本原理(題目所涉及課程內(nèi)容,用到了那種算法,該

2、算法的基本原理是什么? 500字以上,可加頁,下同)(一)頁面置換算法定義在地址映射過程中,若在頁面中發(fā)現(xiàn)所要訪問的頁面不再內(nèi)存中,則產(chǎn)生缺頁中斷。當(dāng)發(fā)生缺頁中斷時操作系統(tǒng)必須在內(nèi)存選擇一 個頁面將其移出內(nèi) 存,以便為即將調(diào)入的頁面讓出空間。 而用來選 擇淘汰哪一頁的規(guī)則叫做頁面置換算法。(二)所使用的算法1)最佳置換算法(OPT):將以后永不使用的或許是在最 長(未來)時間內(nèi) 不再被訪問的頁面換出。2)先進先出算法 (FIFO) :淘汰最先進入內(nèi)存的頁面, 即選擇在內(nèi)存中駐留時間最久的頁面予以淘汰。3) 最近最久未使用算法 (LRU): 淘汰最近最久未被使用 的頁面。(三) 設(shè)計思想 選擇置

3、換算法,先輸入所有頁面號,為系統(tǒng)分配物理塊,依次進 行置換:OPT基本思想:是用一維數(shù)組pagepSIZE存儲頁面號序列,memerymSIZE是 存儲裝入物理塊中的頁面。數(shù)組 nextmSIZE 記錄物理塊中對應(yīng)頁面 的最后訪問時間。 每當(dāng)發(fā)生缺頁時, 就從物理塊中找出最后訪問時間 最大的頁面,調(diào)出該頁,換入所缺的頁面。FIFO基本思想:是用隊列存儲內(nèi)存中的頁面,隊列的特點是先進先出,與該算法 是一致的,所以每當(dāng)發(fā)生缺頁時,就從隊頭刪除一頁,而從隊尾加入 缺頁?;蛘呓柚o助數(shù)組 timemSIZE 記錄物理塊中對應(yīng)頁面的進入 時間,每次需要置換時換出進入時間最小的頁面。LRU基本思想:是用一

4、維數(shù)組pagepSIZE存儲頁面號序列,memerymSIZE是存 儲裝入物理塊中的頁面。數(shù)組 flag10 標(biāo)記頁面的訪問時間。每當(dāng) 使用頁面時,刷新訪問時間。發(fā)生缺頁時,就從物理塊中頁面標(biāo)記最 小的一頁,調(diào)出該頁,換入所缺的頁面。二、基本思路(源代碼中定義了哪些變量,用到了哪些函數(shù),畫出流程圖)總的流程圖:開始;載入頁號序列,從第0個得到頁號將頁號放入物理塊中,編號加1根據(jù)選擇的置換算法完成置換源代碼實驗環(huán)境: vc+ ,編程語言: c 語言#include #include /* 全局變量 */int mSIZE; /* 物理塊數(shù) */int pSIZE; /* 頁面號引用串個數(shù) */s

5、tatic int memery10=0; /* 物理塊中的頁號 */static int page100=0; /* 頁面號引用串 */static int temp10010=0; /* 輔助數(shù)組 */* 置換算法函數(shù) */void FIFO();void LRU();void OPT();/* 輔助函數(shù) */void print(unsigned int t);void designBy();void download();void mDelay(unsigned int Delay);/* 主函數(shù) */void main()int i,k,code; system(color 0A);

6、designBy(););n);n);printf(丨請按任意鍵進行初始化操作printf(” 11printf( );getch();system(cls);system(color 0B);printf( 請輸入物理塊的個數(shù) (M=10) :); scanf(%d,&mSIZE);printf( 請輸入頁面號引用串的個數(shù)(P=100): );scanf(%d,&pSIZE);puts(”請依次輸入頁面號引用串(連續(xù)輸入,無需隔開):for(i=0;ipSIZE;i+) scanf(%1d,&pagei);download();system(cls);system(color 0E);dop

7、uts(輸入的頁面號引用串為:”);for(k=0;k=(pSIZE-1)/20;k+)for(i=20*k;(ipSIZE)&(i); getch();system(cls);while (code!=4); getch();/* 載入數(shù)據(jù) */void download()int i; system(color 0D);printf(” |1n);printf( I正在載入數(shù)據(jù),請稍候川丨n);printf( 11n);printf(Loading.n);printf(O);for(i=0;i51;i+) printf(b);for(i=0;i); printf(nFinish.n 載入成

8、功,按任意鍵進入置換算法選擇界面:);getch();/* 設(shè)置延遲 */void mDelay(unsigned int Delay)unsigned int i;for(;Delay0;Delay-)for(i=0;i124;i+)printf( b);/* 顯示設(shè)計者信息 */void designBy()printf(“ i1n);printf( |頁面置換算法| n);printf( |12級 1 班| n);printf( | printf(” 卜姓名:張海洋,李奔n);n);void print(unsigned int t)int i,j,k,l;int flag; for(k

9、=0;k=(pSIZE-1)/20;k+) for(i=20*k;(ipSIZE)&(i20*(k+1);i+) if(i+1)%20=0)|(i+1)%20)&(i=pSIZE-1) printf(%dn,pagei);elseprintf(%d ,pagei);for(j=0;jmSIZE;j+) for(i=20*k;(imSIZE+20*k)&(i=j) printf( |%d|,tempij);else printf( | |); for(i=mSIZE+20*k;(ipSIZE)&(i20*(k+1);i+) for(flag=0,l=0;lmSIZE;l+) if(tempil=

10、tempi-1l)flag+; if(flag=mSIZE)/* 頁面在物理塊中 */printf( );else printf( |%d|,tempij);/*每行顯示 20 個*/ if(i%20=0)continue;printf(n);printf(n);printf( 缺頁次數(shù): %dtt,t+mSIZE); printf( 缺頁率: %d/%dn,t+mSIZE,pSIZE);printf( 置換次數(shù): %dtt,t);printf( 訪問命中率: %d%n,(pSIZE-(t+mSIZE)*100/pSIZE); printf(n);/* 計算過程延遲 */void comput

11、e()int i;printf( 正在進行相關(guān)計算,請稍候 ); for(i=1;i20;i+)mDelay(15); if(i%4=0) printf(bbbbbb bbbbbb);elseprintf(” ”);for(i=0;i+30;printf(b);for(i=0;i+30;printf( );for(i=0;i+30;printf(b);/* 先進先出頁面置換算法 */void FIFO()int memery10=0;int time10=0; /* 記錄進入物理塊的時間 */int i,j,k,m;int max=0; /* 記錄換出頁 */int count=0; /* 記

12、錄置換次數(shù) */* 前 mSIZE 個數(shù)直接放入 */ for(i=0;imSIZE;i+)memeryi=pagei;timei=i;for(j=0;jmSIZE;j+) tempij=memeryj;for(i=mSIZE;ipSIZE;i+)/* 判斷新頁面號是否在物理塊中 */ for(j=0,k=0;jmSIZE;j+)if(memeryj!=pagei)k+;if(k=mSIZE) /* 如果不在物理塊中 */count+;/* 計算換出頁 */ max=time0time1?0:1; for(m=2;mmSIZE;m+) if(timemtimemax) max=m;memery

13、max=pagei;timemax=i; /* 記錄該頁進入物理塊的時間 */ for(j=0;jmSIZE;j+)tempij=memeryj;elsefor(j=0;jmSIZE;j+) tempij=memeryj;compute();print(count);/* 最近最久未使用置換算法 */void LRU()int memery10=0;int flag10=0; /* 記錄頁面的訪問時間 */int i,j,k,m;int max=0; /* 記錄換出頁 */int count=0; /* 記錄置換次數(shù) */* 前 mSIZE 個數(shù)直接放入 */for(i=0;imSIZE;i+

14、)memeryi=pagei;flagi=i;for(j=0;jmSIZE;j+)tempij=memeryj;for(i=mSIZE;ipSIZE;i+)/* 判斷新頁面號是否在物理塊中 */ for(j=0,k=0;jmSIZE;j+)if(memeryj!=pagei)k+;elseflagj=i; /* 刷新該頁的訪問時間 */if(k=mSIZE) /* 如果不在物理塊中 */count+;/* 計算換出頁 */ max=flag0flag1?0:1; for(m=2;mmSIZE;m+) if(flagmflagmax) max=m;memerymax=pagei;flagmax=

15、i; /* 記錄該頁的訪問時間 */ for(j=0;jmSIZE;j+)tempij=memeryj;elsefor(j=0;jmSIZE;j+) tempij=memeryj;compute();print(count);/* 最佳置換算法 */void OPT()int memery10=0;int next10=0; /* 記錄下一次訪問時間 */int i,j,k,l,m;int max; /* 記錄換出頁 */int count=0; /* 記錄置換次數(shù) */* 前 mSIZE 個數(shù)直接放入 */for(i=0;imSIZE;i+)memeryi=pagei;for(j=0;jmS

16、IZE;j+)tempij=memeryj;for(i=mSIZE;ipSIZE;i+)/* 判斷新頁面號是否在物理塊中 */ for(j=0,k=0;jmSIZE;j+)if(memeryj!=pagei) k+;if(k=mSIZE) /* 如果不在物理塊中 */count+;/* 得到物理快中各頁下一次訪問時間 */ for(m=0;mmSIZE;m+) for(l=i+1;l=next1?0:1; for(m=2;mnextmax) max=m;/*下一次訪問時間都為pSIZE,則置換物理塊中第一個*/memerymax=pagei;for(j=0;jmSIZE;j+) tempij=

17、memeryj;else for(j=0;jmSIZE;j+) tempij=memeryj;compute(); print(count);四、調(diào)試及實驗結(jié)果(此處放源代碼編輯執(zhí)行后截圖,可多張圖片)第一組數(shù)據(jù):1.運行結(jié)果2.按任意鍵進行初始化:3.載入數(shù)據(jù):4.進入置換算法選擇界面:-b5 |ft Tm&l C+-t-* *EsLi FUA Sfimgirl r4-j4Cl GMl-d 匚4 IiEb4n (Hip點誡Ur a,臥廠 |ftii iahiril mFiBbirq -二電 T 3 ll!即右Q wnih?p?a=fill THm ILricludip Ckt-dLu .Ik

18、i PLnckudt 5 廠主耐班叩Ini rtIZE; hnl pSin; 5-tdtic i#t hlriE Ie JhiL tdtlc l*t 一Mid FIF4CH Id tnu(; 4i(i dPT( 廠轉(zhuǎn)刃迂蠱嚇Mid prit4utr5iQMd a I d dHhigiil ; Mid dow*lnM(H vu I d rfrlJ ynnulH英聞號 PWWPIII P氣叫IIH 上叭1*|fiit粛比亞也才ss“IEaBEWWWTLLbLLF聶站朱ioi當(dāng)金血_f L.割5先出訶啊了 T-JftifillA未便冃ILBJ 卜:LiflS*奶t暫遇出円硼I祁I(lǐng) Iknt i.k.

19、cadp;5y5t*fHcol&r I屮n申“胃按t|HT i nt rr frintfr* mu dura;a I nr I“iJf皆衛(wèi)理 scrtnr-fftr-rft5irr申售補厲舀昌刖用串的村6卿1IWi UH iErtnr l3l?-| j; 科赭嚴(yán)豪煉納上 I更耳耳用串C遅護輸入 壬需陽幵h -H rar4i-*;lpIJE;a4tawnlarfl(、;ulTK Zlafaua 1. Pixd kd Filiaa 1VT 4 I5.運算中延遲操作:6.三種算法演示結(jié)果7.退出算法第二組數(shù)據(jù):1.運行結(jié)果HF(!:iI*(D 卜.1X1 Tfiti二口葺i口不旨rl *friprU

20、.Sl*AiimiLeimI-I; 4rl-iy4wiEllkdMlpnBprintr yrLelurO;unad m l |i申二杷知工軽 -ffsHirv-Swnct nMBI tiEKdEI FidEEiiKlweIIkIkIm Ciherillfe.h$哇司迪屮73Int N&13E:問審理地馳和 ink ram: Mn| 5ttlc lFt MRT*1 scaiili: inc pqtj- Rtvtic iwt f喪鼻|丄 uutiri I什“: unrid LRIIlC 9);UDd 錚Tunrid a voiid UU3EI ModdCnlill-r(KM COJfi- prLn

21、Ur-ilifi sc-mFC-M.*!” Lnr F忙勺|曲/VTEU - 1 l.tl-qJT.1TTtrv- TW j r .cjnF,4nEI7F!;pi也嚴(yán)聆麗入熨直號耳|用軻注誕恤;-疋科帰巧I * 1 *.:腔 I.El:叮wjiisFrzir 昨背!1応1 d.北* - d FFALsJr uTbuii. us f mk k在劉哲中u aj剛叮|ii-If r氐到w|7F殛F 9 *:? mmr !. h - 心3L Vif寸的舐Il+日耳CifcWL日-b*k - 證曙爭k. n Mi理jgiFZrwl2.按任意鍵進行初始化:3.載入數(shù)據(jù):4.進入置換算法選擇界面:5.運算中

22、延遲操作:6.三種算法演示結(jié)果更忡広:|Il (D AU.I Tfilti二口 hiMi口無白*3 Mm蟲F曲匹眉!肖*呵-IIh.txt - i trrarLs 口 HrnSnqCsf一R. 4U .厲直l.點盤庫:中査盛在交用叮lrlfcNMi- flawnLtid|#rl4ynnMVt*aMi&JfllFil曲rwdwn 仙_ Trm Iri I -: Mmiue l,il?s |凹 聲b mmXrT =jbJFWlfl=EiT -Hlw-Swna Ffcc.L XllKlHriv 主_ int HSLZt: Lnk pLEZC;5ttlC t tl ihC static EuOuntid LRIIQ; void WTQt r餌刪舸 UQgid 2曲Q umdMold z主曲妁吋 unad ni l |ilk d.lMD v尸 t*wi| cn de5t戸 B# “ |irlnErim I prlntf4 L printfC yrLulurQ; srfct*ico print rril 說劭諾馭費百岳|用申89、 nF *”,叩1丁門;Mt才*B嫌“扎夏直號引用車卷鏤

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論