計(jì)算機(jī)操作系統(tǒng)儲(chǔ)存管理實(shí)驗(yàn)報(bào)告_第1頁
計(jì)算機(jī)操作系統(tǒng)儲(chǔ)存管理實(shí)驗(yàn)報(bào)告_第2頁
計(jì)算機(jī)操作系統(tǒng)儲(chǔ)存管理實(shí)驗(yàn)報(bào)告_第3頁
計(jì)算機(jī)操作系統(tǒng)儲(chǔ)存管理實(shí)驗(yàn)報(bào)告_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

軟件學(xué)院綜合性、設(shè)計(jì)性實(shí)驗(yàn)報(bào)告專業(yè):java年級(jí)/班級(jí):2012級(jí)2013—2014學(xué)年第一學(xué)期課程名稱計(jì)算機(jī)操作系統(tǒng)指導(dǎo)教師學(xué)號(hào)-姓名王宇菲實(shí)驗(yàn)地點(diǎn)過街樓B區(qū)實(shí)驗(yàn)時(shí)間2014-12-23項(xiàng)目名稱儲(chǔ)存管理實(shí)驗(yàn)類型綜合性/設(shè)計(jì)性一、實(shí)驗(yàn)?zāi)康耐ㄟ^請(qǐng)求頁式存儲(chǔ)管理中頁面置換算法模擬程序,了解虛擬存儲(chǔ)技術(shù)的特點(diǎn),掌握請(qǐng)求頁式存儲(chǔ)管理的頁面置換算法。二、實(shí)驗(yàn)儀器或設(shè)備實(shí)驗(yàn)機(jī)房pc電腦三、總體設(shè)計(jì)(設(shè)計(jì)原理、設(shè)計(jì)方案及流程等)通過隨機(jī)數(shù)產(chǎn)生一個(gè)指令序列,共320條指令,指令的地址按下述原則生產(chǎn):50%的指令是順序執(zhí)行的;25%的指令是均勻分布在前地址部分;25%的指令是均勻分布在后地址部分。將指令序列變換成為頁地址流設(shè)頁面大小為1K;用戶內(nèi)存容量為4頁到32頁;用戶虛存容量為32K。在用戶虛存中,按每K存放10條指令排列虛存地址,即320條指令在虛存中的存放方式為:第0條至第9條指令為第0頁;第10條至19條指令為第1頁;…第310條至319條指令為第31頁。計(jì)算并輸出下述各種算法在不同內(nèi)存容量下的命中率。先進(jìn)先出算法(FIFO)最近最少使用算法(LRU)最佳使用算(OPT)命中率=1一頁面失效次數(shù)/頁地址流長(zhǎng)度本實(shí)驗(yàn)中,頁地址流長(zhǎng)度為320,頁面失效次數(shù)為每次訪問相應(yīng)指令時(shí),該指令所對(duì)應(yīng)的頁不在內(nèi)存的次數(shù)。關(guān)于隨機(jī)數(shù)的產(chǎn)生辦法。首先要初始化設(shè)置隨機(jī)數(shù),產(chǎn)生序列的開始點(diǎn),例如,通過下列語句實(shí)現(xiàn):srand(400);計(jì)算隨機(jī)數(shù),產(chǎn)生320條指令序列m=160;for(i=0;i<80;i++={j=i*4;a[j]=m;a[j+1]=m+1;a[j+2]=a[j]**rand()/32767;a[j+3]=a[j+2]+1m=a[j+3]+(319-a[j+3])**rand()/32767;}將指令序列變換成為頁地址流for(k=0;k<320;k++){pt=a[k]/10;pd=a[k]%10;…}計(jì)算不同算法的命中率rate=*U/320;其中U為缺頁中斷次數(shù),320是頁地址流長(zhǎng)度。輸出格式kfifo1ru4…32四、實(shí)驗(yàn)步驟(包括主要步驟、代碼分析等)1.代碼如下#include<>#include<>#include<>#include<>#defineMyprintfprintf("|++++++++++++++++1\n")/*表格控制*/#definebsize4um=-1;b[i].time=psize-i-1;}for(i=0;i<bsize;i++)for(j=0;j<psize;j++)c[i][j]=-1;}/*取得在內(nèi)存中停留最久的頁面,默認(rèn)狀態(tài)下為最早調(diào)入的頁面*/intGetMax(Page*b){inti;intmax=-1;inttag=0;for(i=0;i<bsize;i++){if(b[i].time>max){max=b[i].time;tag=i;}returntag;}/*判斷頁面是否已在內(nèi)存中*/intEquation(intfold,Page*b){inti;for(i=0;i<bsize;i++){if(fold==b[i].num)returni;}return-1;}/*LRU核心部分*/voidLruu(intfold,Page*b){inti;intval;val=Equation(fold,b);if(val>=0){b[val].time=0;for(i=0;i<bsize;i++)if(i!=val)b[i].time++;}else{queue[++K]=fold;/*i記錄調(diào)入頁面*/val=GetMax(b);b[val].num=fold;b[val].time=0;for(i=0;i<bsize;i++)if(i!=val)b[i].time++;}}voidLRU(){inti,j;K=-1;Init(b,c);for(i=0;i<psize;i++){Lruu(pro[i],b);c[0][i]=pro[i];/*記錄當(dāng)前的內(nèi)存單元中的頁面*/for(j=0;j<bsize;j++)c[j][i]=b[j].num;}/*結(jié)果輸出*/printf("內(nèi)存狀態(tài)為:\n");Myprintf;for(j=0;j<psize;j++)printf("|%2d",pro[j]);printf(〃|\n〃);Myprintf;for(i=0;i<bsize;i++){for(j=0;j<psize;j++){if(c[i][j]==-1)printf("|%2c”,32);elseprintf("|%2d”,c[i][j]);}printf(〃|\n〃);}Myprintf;printf("\n調(diào)入隊(duì)列為:");for(i=0;i<K+1;i++)printf("%3d”,queue[i]);printf("\n缺頁次數(shù)為:%6d\n缺頁率:%”,K+1,(float)(K+1)/psize);}//個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)//十.Kb女乂voidmain(){intsel;do{printf("\t\t\t\t\t\t");printf("\t\t\t☆☆"-”歡迎進(jìn)入操作系統(tǒng)界面”-"☆☆\t\t\t");printf("\t\t\t\t\t\t\n");printf("\t\t\t^^^^^^^^^^^^^^^^^^\t\t\t");printf("\t\t\t^虛擬內(nèi)存☆\t\t\t");printf("\t\t\t^^\t\t\t");printf("\t\t\t^1、產(chǎn)生隨機(jī)序列☆\t\t\t");printf("\t\t\t^☆\t\t\t");printf("\t\t\t^2、最久未使用(LRU)☆\t\t\t");printf("\t\t\t^^\t\t\t");printf("\t\t\t^3、先進(jìn)先出(FIFO)☆\t\t\t");printf("\t\t\t^^\t\t\t");printf("\t\t\t^4、最佳置換算法(OPT)☆\t\t\t");printf("\t\t\t^^\t\t\t");printf("\t\t\t^5、三種算法的比較()☆\t\t\t");printf("\t\t\t^^\t\t\t");printf("\t\t\t^0、退出(Exit)☆\t\t\t");以^^"^^^☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\t\t\t\n');printf("請(qǐng)選擇所要執(zhí)行的操作(0/1/2/3/4/5):");scanf("%d”,&sel);switch(sel){case0:printf(〃\t\t\t"-"再見!"-"\t\t\t\n");system("pause");break;case1:build();break;case2:printf("最久未使用算\n");LRU();empty();printf("\n");break;case3:printf("先進(jìn)先出算、n");FIFO();empty();printf("\n");break;case5:printf("先進(jìn)先出算法\n");FIFO();empty();printf("最久未使用算法\n");LRU();empty();break;default:printf("請(qǐng)輸入正確的選項(xiàng)號(hào)!");printf("\n\n");break;}}while(sel!=0);}五、結(jié)果分析與總結(jié)產(chǎn)生的隨機(jī)序列:最近最少使用算法執(zhí)行結(jié)果如下:先進(jìn)先出FIFO算法執(zhí)行結(jié)果:總結(jié)體會(huì)請(qǐng)求頁式管理的基本原理是將邏輯地址空間分成大小相同的頁,將存儲(chǔ)地址空間分塊,頁和塊的大小相等,通過頁表進(jìn)行管理。頁式系統(tǒng)的邏輯地址分為頁號(hào)和頁內(nèi)位移量。頁表包括頁號(hào)和塊號(hào)數(shù)據(jù)項(xiàng),它們一一對(duì)應(yīng)。根據(jù)邏輯空間的頁號(hào),查找頁表對(duì)應(yīng)項(xiàng)找到對(duì)應(yīng)的塊號(hào),塊號(hào)乘以塊長(zhǎng),加上位移量就行成存儲(chǔ)空間的物理地址。每個(gè)作業(yè)的邏輯地址空間是連續(xù)的,重定位到內(nèi)存空間后就不一定連續(xù)了。對(duì)不同算法的性能進(jìn)行評(píng)價(jià)。FIFO算法較易實(shí)現(xiàn),對(duì)具有線性順序特征的程序比較適用,而對(duì)

溫馨提示

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