實(shí)驗(yàn)五:頁(yè)面調(diào)度算法模擬實(shí)驗(yàn)報(bào)告_第1頁(yè)
實(shí)驗(yàn)五:頁(yè)面調(diào)度算法模擬實(shí)驗(yàn)報(bào)告_第2頁(yè)
實(shí)驗(yàn)五:頁(yè)面調(diào)度算法模擬實(shí)驗(yàn)報(bào)告_第3頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)五:頁(yè)面調(diào)度算法模擬學(xué)校:XXX院系:XXX班級(jí):XXX姓名:XXX學(xué)號(hào):XXX指導(dǎo)教師:XXX目錄、實(shí)驗(yàn)題目3.、實(shí)驗(yàn)學(xué)時(shí)3.三、指導(dǎo)老師 3.四、實(shí)驗(yàn)日期 3.五、實(shí)驗(yàn)?zāi)康?3.六、實(shí)驗(yàn)原理 3.6、1頁(yè)面得含義 3.6、 2 頁(yè)面置換算法得含義3.6、3 置換算法 3.6、3、1 最佳置換算法(Optimal )4.6 3、2先進(jìn)先出(FIFO)頁(yè)面置換算法 46 3、3 LRU置換算法4.七、實(shí)驗(yàn)步驟及結(jié)果 4.7、 1 驗(yàn)證最佳置換算法 4.7、 1、 1 實(shí)驗(yàn)截圖 4.7、 1、 2 實(shí)驗(yàn)分析 錯(cuò). 誤!未定義書簽。7、2驗(yàn)證先進(jìn)先出(FIFO)頁(yè)面置換算

2、法錯(cuò)誤!未定義書簽。7、 2、 1 實(shí)驗(yàn)截圖 5.7、 2、 2 實(shí)驗(yàn)分析錯(cuò). 誤!未定義書簽。7、3驗(yàn)證LRU置換算法錯(cuò)誤!未定義書簽。7、 3、 1 實(shí)驗(yàn)截圖 6.7、 3、 2 實(shí)驗(yàn)分析錯(cuò). 誤!未定義書簽。八、報(bào)告書寫人 錯(cuò). 誤!未定義書簽。附錄一 最佳置換算法( Optimal) 7.附錄二 先進(jìn)先出(FIFO)頁(yè)面置換算法 11附錄三 LRU 置換算法 1.4實(shí)驗(yàn)五:頁(yè)面調(diào)度算法模擬、實(shí)驗(yàn)題目頁(yè)面調(diào)度算法模擬二、實(shí)驗(yàn)學(xué)時(shí)2 學(xué)時(shí)三、指導(dǎo)老師XXX四、實(shí)驗(yàn)日期2018年 12 月 10 日星期一五、實(shí)驗(yàn)?zāi)康?1)熟悉操作系統(tǒng)頁(yè)面調(diào)度算法(2)編寫程序模擬先進(jìn)先出、LRU等頁(yè)面調(diào)度算

3、法,體會(huì)頁(yè)面調(diào)度算法原理六、實(shí)驗(yàn)原理6、1 頁(yè)面得含義分頁(yè)存儲(chǔ)管理將一個(gè)進(jìn)程得邏輯地址空間分成若干大小相等得片 , 稱為頁(yè)面 或頁(yè)。6、 2 頁(yè)面置換算法得含義在進(jìn)程運(yùn)行過(guò)程中,若其所要訪問得頁(yè)面不在內(nèi)存而需把它們調(diào)入內(nèi)存,但 內(nèi)存已無(wú)空閑空間時(shí) , 為了保證該進(jìn)程能正常運(yùn)行 , 系統(tǒng)必須從內(nèi)存中調(diào)出一頁(yè) 程序或數(shù)據(jù),送磁盤得對(duì)換區(qū)中 . 但應(yīng)將哪個(gè)頁(yè)面調(diào)出,須根據(jù)一定得算法來(lái)確 定。通常,把選擇換出頁(yè)面得算法稱為頁(yè)面置換算法(Page_ReplacementAlgorithms ) .6、 3 置換算法一個(gè)好得頁(yè)面置換算法 , 應(yīng)具有較低得頁(yè)面更換頻率 .從理論上講 ,應(yīng)將那些以后不再會(huì)訪問

4、得頁(yè)面換出,或?qū)⒛切┰谳^長(zhǎng)時(shí)間內(nèi)不會(huì)再訪問得頁(yè)面調(diào)出6、3、1最佳置換算法(Optimal)它就是由Belady于1966年提出得一種理論上得算法。其所選擇得被淘汰頁(yè) 面,將就是以后永不使用得或許就是在最長(zhǎng)(未來(lái))時(shí)間內(nèi)不再被訪冋得頁(yè)面。米 用最佳置換算法,通常可保證獲得最低得缺頁(yè)率。但由于人目前還無(wú)法預(yù)知一個(gè) 進(jìn)程在內(nèi)存得若干個(gè)頁(yè)面中,哪一個(gè)頁(yè)面就是未來(lái)最長(zhǎng)時(shí)間內(nèi)不再被訪問得,因而該算法就是無(wú)法實(shí)現(xiàn)得,便可以利用此算法來(lái)評(píng)價(jià)其它算法。& 3、2先進(jìn)先出(FIFO)頁(yè)面置換算法這就是最早出現(xiàn)得置換算法。該算法總就是淘汰最先進(jìn)入內(nèi)存得頁(yè)面,即選 擇在內(nèi)存中駐留時(shí)間最久得頁(yè)面予以淘汰該算法

5、實(shí)現(xiàn)簡(jiǎn)單只需把一個(gè)進(jìn)程已調(diào) 入內(nèi)存得頁(yè)面,按先后次序鏈接成一個(gè)隊(duì)列,并設(shè)置一個(gè)指針,稱為替換指針,使 它總就是指向最老得頁(yè)面.& 3、3 LRU置換算法LRU置換算法就是選擇最近最久未使用得頁(yè)面予以淘汰 .七、實(shí)驗(yàn)步驟及結(jié)果7、1驗(yàn)證最佳置換算法7、1、1實(shí)驗(yàn)截圖'C:UwrsAd m i niktop梓科大三豺算機(jī)悔作朝佃勢(shì)ma l_Radomjew'The OptimalList: 72771044 0 8 0 4the lostinOptima1:nvbuf=7in<7interruptnewbuf-72in<2interruptin<7succ

6、essful l.yi*Tsuccessful l.yXiewbuf=71in一一1interruptiewbuf=710in<一0interruptnewbufM10in<4change7一一>outin<4successful l.yin<0SUCCPSifE11y810in<Schanse2一>autin一一0successful 1yin<4succpssful1yinterruDt=4successfuLlv=CPress anykeyto cont i nue7、1、2實(shí)驗(yàn)分析in727710440804bl777744b222228

7、b31111b4000out727、2驗(yàn)證先進(jìn)先出(FIFO)頁(yè)面置換算法7、2、1實(shí)驗(yàn)截圖irale r D孕ktap % 科才三1計(jì)疊機(jī)提柞舷讀螫礙暑代碼DEbugF IPOjexe"FIFO List:1 0 33 8 0 8 12 0 5 6the lost inFIFO:iiewbLil' 1in<1interruptpewbuf=l 0in<0interruptnewbufl O3in<3interruptinC3successfullype*buf=l 038in<-一8interruptin<0successfullyin<

8、-8successfullyin<1successfullynewbuf=2 03ain<2changeL>autin<0successfullyLewbuf=2 538in一一5chane0>outnewbuf=2 568in<6change3>ourinterruptsk?hanE?3successfullypress any key to continucB7、2、2實(shí)驗(yàn)分析in1b11111222b2000055b333336b48888out1037、3驗(yàn)證LRU置換算法7、3、1實(shí)驗(yàn)截圖'CAUsersAd mi nktrotorX

9、DwIrtQp碎科大三計(jì)算剖提作系統(tǒng)莫煤八實(shí)驗(yàn)代碼DgbugLRU_Rado<ri ,exe'The Random List j9 6 8 7 7 3 71 2 6 7 0the lost in LRl':newiuf=9in<-9nterruptnewbuf=9 6in一一6interruptnewbuf=9 6 Rin<8intprrtip tnpwbuf=9 087in<7i ntprrupt-一7successfullynewbuf=3 6 87in<3change 9>outin<-7successfullynewbuf=3

10、181in<1change6>outnewbuf=3 127jn<2change8>outiewbuf=6 127in<一6change3>outin<一7successfullynewt)uf-6 027in< 0change 1/outi nt?rrtlpt=4chanfie=5successfullyPress any key tci continue.7、3、2實(shí)驗(yàn)分析in968773712670bl999933366b266661110b38888222b4777777out96831八、報(bào)告書寫人XXX附錄一最佳置換算法(Optima

11、l)#include vstdio 、h>,int list,int num )#include < stdlib 、h# in elude <time 、h># define N 12/*隨機(jī)數(shù)列得長(zhǎng)度* /# define B 4/*內(nèi)存頁(yè)面數(shù)* /int IsInBuf(int bufinti , j=-1;int max_p ;int max_d=0 ;for (i=0;i<B ; i+ )if(bufi=list num )/當(dāng)x在buf中,返回一1/ 當(dāng)x不在buf中,且buf i 為空,return -1;else if (bufi= 1)則把x填入

12、buf,并返回一1bufi =listnum ;return -2for(i=0;i B;i+)for (j=num+1;j N; j+)if(bufi =listj ) if (max_d<j) max_d=j;/buf i 在 list 中得最近距離 max_p=i;/listj 在 buf 得位置 break;if ( j=N) / 如果 buf 滿,并且 bufi 不在 list 得后半部分,返 回位置 ireturn i ;return max_p;/ 返回距離最遠(yuǎn)得 buf 得位置int main ()int listN ;/=4 ,3,2 ,1,4,3 ,5,4,3,2 ,

13、1,5;int bufB ,i ,f N,j ,m,bufuse=0 ,tmp;int change=0;/ 置換次數(shù)int interrupt=0;/ 中斷次數(shù)int successfully=0 ; / 訪問成功次數(shù) srand( ( int ) time (NULL);for (i=0;i<B ; i+)buf i=fi =1;printf (” nn ”);printf( ”The Optimal List :" );for(i=0;i<N;i+)list i= (int ) rand( ) 10; printf ("%2d”,list i );prin

14、tf ("n") ;printf( ”nthe lost in Optimal: n" );for(i=0;i<N ; i+)j=IsInBuf (buf ,list ,i); if(j=-1 )successfully+;for(m=0 ;m=B;m+)printf (” ") ; / 成功得打印 / printf( ” in< d successfullyn ” ,listi);/ 成功得打印 /else if(j= 2)bufuse+ ; interrupt+;printf( ”newbuf=") ; for(m=0 ;mbu

15、fuse ;m+) printf("%d " ,bufm); / 缺頁(yè)中斷次數(shù)得打印 */for(m;m<B ; m+) printf ( "”); /* 缺頁(yè)中斷得打印 /printf (” in<%d interruptn",listi );/ 缺頁(yè)中斷得打印 */elsetmp=bufj ;bufj=listi ; change+;printf (” newbuf=” ) ;for (m=0;m<bufuse;m+)printf ("d " ,bufm); / 缺頁(yè)置換得打印 */for(m ; mB; m+)

16、printf ("”);/ 缺頁(yè)置換得打印 /printf (” in< d changed- >outn",listi,tmp);/ 缺頁(yè)置換得打印 */printf("nn") ; printf("interrupt=%dn",interrupt);printf( ”change=%dn", change);printf( ”successfully=%dn",successfully);return 0;附錄二 先進(jìn)先出(FIFO)頁(yè)面置換算法#include <stdio、h includ

17、e stdlib 、h include time 、h#define N 12 /* 隨機(jī)數(shù)列得長(zhǎng)度 / define B 4/* 內(nèi)存頁(yè)面數(shù) */int IsInBuf(int buf,int x)int i ;for (i=0;i<B ; i+)if (buf i =x) /*當(dāng)x在buf中,返回其位置*/return -1 ;else if (bufi= 1)/* 當(dāng) x 不在 buf 中 , 且 bufi 為空, 則把 x填入buf,并返回其位置*/bufi =x;return -2 ;return 0;int main ()int listN;/= 4, 3, 2,1,4 ,

18、3, 5, 4, 3, 2, 1,5;int buf B,i , fN,j , m,bufuse=0, tmp;int old=0 ;int change=0 ; / 置換次數(shù)int interrupt=0 ; / 中斷次數(shù)int successfully=0 ; / 訪問成功次數(shù)srand (int)time(NULL) );for (i=0;i<B ; i+ )bufi =f i= 1;printf (” nn ”) ;printf (” The FIFO List :” );for (i=0 ;i<N ;i+ )list i =(int ) rand ()%10; print

19、f (” 2d”,list i);printf("n ”);printf("nthe lost in FIFO:n" );for (i=0 ;i N;i+ )j=IsInBuf(buf , listi);if ( j=-1 ) successfully+;for(m=0 ;m<=B;m+)printf (” " ); / 成功得打印 */printf (” in<-%d successfullyn ” ,listi ) ;/* 成功得打印 /else if(j= 2)bufuse+;interrupt+;printf ("newbu

20、f=”) ;for(m=0 ;mbufuse;m+ )printf( ”%d ",buf m);/* 缺頁(yè)中斷次數(shù)得打印 /for (m;m<B; m+)printf("” ) ; /* 缺頁(yè)中斷得打印 */printf(" in< d interruptn ” ,list i);/ 缺頁(yè)中 斷得打印 */elsetmp=bufold ;buf old =list i ;old=(old+1 ) %(int ) B;/ *數(shù)據(jù)在buf中得儲(chǔ)存就是循環(huán)得*/change+;printf ("newbuf=");for(m=0 ;m&l

21、t;bufuse;m+) printf("d ”,bufm); / *缺頁(yè)置換得打印 */for(m ;m<B;m+)+printf(" ”) ;/ *缺頁(yè)置換得打印 */d->outn ”, listiprintf ( " in<-%d changetmp) ;/ 缺頁(yè)置換得打印 /printf (” nn" );printf("interrupt=%dn”,interrupt );printf ( "change=%dn”,change) ;printf (” successfully= dn ”,success

22、fully ) return 0;附錄三 LRU 置換算法 include stdio 、 h>#include stdlib 、 h include <time 、h>define N 12/ 隨機(jī)數(shù)列得長(zhǎng)度 /#define B 4 / 內(nèi)存頁(yè)面數(shù) */int IsInBuf(int buf,int list,int num )int ij= 1;for(i=0 ;i<B;i+)if( bufi=listnum) / 當(dāng)x在buf中,返回其位置j=i ;break ;else if(bufi =-1)/ 當(dāng)x不在buf中,且bufi填入 buf ,并返回其位置/*/

23、為空,則把 xbufi =listnum;j= 2;break ;return j;int Get(int buf ,int list ,int num)int buffB ;int buffuse=0 ;int i ,j ,k,m;for (m=0;m<B;m+)buffm= 1;for (i=num-1; i>=0;i -)for(j=0;j<B ;j+)if ( listi=bufj)for ( k=0;k buffuse;k+) if(list i=buffk ) break ; if(k=buffuse)buff buffuse =list i ; buffuse+

24、 ; if ( buffuse=B) return j ;break;return 0 ;int main ()int list N;/int list12=int buf B,i ,f N, j,m,bufuse=0 ,tmp;int old=0 ;int change=0 ;int interrupt=0;int successfully=0 ;srand (int )time(NULL);for ( i=0;i B; i+)bufi =fi =-1;printf("The Random List: ”) ;for (i=0 ;i N;i+ )listi=(int) rand()10;printf (" 2d",listi);printf("nn" );printf (” nthe lost in LRU:n”);change=0; / 中斷得次數(shù) /for (i

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論