存儲管理模擬實現(xiàn)_第1頁
存儲管理模擬實現(xiàn)_第2頁
存儲管理模擬實現(xiàn)_第3頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、YOUR LO存儲管理模擬實現(xiàn)一、實驗?zāi)康拇鎯芾淼闹饕δ苤皇呛侠淼胤峙淇臻g。請求頁式管理是一種常用的虛 擬存儲管理技術(shù)。本實驗的目的是通過請求頁式存儲管理中頁面置換算法模擬設(shè) 計,了解虛擬存儲技術(shù)的特點,掌握請求頁式管理的頁面置換算法。二、實驗內(nèi)容編程實現(xiàn)頁面置換算法,要求輸出頁面的置換過程,具體可以編程實現(xiàn)OPT、FIFO 和LRU算法。1. 過隨機數(shù)產(chǎn)生一個指令序列,共320條指令。其地址按下述原則生成: 50%的指令是順序執(zhí)行的; 25%的指令是均勻分布在前地址部分; 25%的指令是均勻分布在后地址部分;#具體的實施方法是:A. 在0, 319的指令地址之間隨機選區(qū)一起點M;B.

2、順序執(zhí)行一條指令,即執(zhí)行地址為M+1的指令;C. 在前地址0, M+1中隨機選取一條指令并執(zhí)行,該指令的地址為M'D. 順序執(zhí)行一條指令,其地址為M' +1;E. 在后地址M' +2, 319中隨機選取一條指令并執(zhí)行;F. 重復(fù)AE,直到執(zhí)行320次指令。2. 指令序列變換成頁地址流設(shè):(1)頁面大小為1K:(2)用戶內(nèi)存容量為4頁到32頁;(3)用戶虛存容量為32K。在用戶虛存中,按每K存放10條指令排列虛存地址,即320條指令在虛存中的存 放方式為:第0條一第9條指令為第0頁(對應(yīng)虛存地址為0, 9);第10條一笫19條指令為第1頁(對應(yīng)虛存地址為10, 19);O

3、OOOOOOOOOOOOOOOOOOOO笫310條一第319條指令為笫31頁(對應(yīng)虛存地址為310, 319):按以上方式,用戶指令可組成32頁。3. 計算并輸出下述各種算法在不同內(nèi)存容量下的命中率。A. FIFO先進先出的算法B. LRU最近最少使用算法C. LFU最少訪問頁面算法三、實驗要求1、需寫出設(shè)汁說明;2、設(shè)計實現(xiàn)代碼及說明3、運行結(jié)果;四、主要實驗步驟1、分析算法結(jié)構(gòu);畫出算法的流程圖,即設(shè)計說明;根據(jù)畫出的流程圖使用C語言編寫相應(yīng)的代碼(代碼過長,放到最后);程序主要由main函數(shù)和以下兒個函數(shù)組成:void initialization();初始化內(nèi)存數(shù)據(jù)void FIFO(

4、) ;FIFO先進先出算法;void LRU() ;LRU最久未使用算法;void LFU() ;LFU最近最久未使用算法:流程圖如下:頁面置換算法整體結(jié)構(gòu) FIFO頁面置換算法 LRU頁面置換算法LFU頁面置換算法2、設(shè)計說明及源代碼FIFO算法設(shè)計說明:按照所要求的產(chǎn)生隨機指令序列,存放在order 320這個數(shù) 組中。通過循環(huán)產(chǎn)生這些隨機指令,每產(chǎn)生一條都要進行下列判斷:是否和內(nèi)存中即mem .volume4中存放的頁面相同,如果相同則不做任何操作,如果不相同,則產(chǎn)生缺 頁,相應(yīng)的缺頁次數(shù)加一,按照fcfs將最先進入內(nèi)存的頁數(shù)淘汰,并將該頁寫到內(nèi)存 中去。重復(fù)上面的操作直到完成這320條

5、指令。源代碼:PP :定義控制臺應(yīng)用程序的入口點。.3fpp :定義控制臺應(yīng)用程序的入口點。.3fpp :定義控制臺應(yīng)用程序的入口點。/#include "”int _tmain(int argc, _TCHAR* argv)return 0;#include <>#include <>#include <>#define X 5/定義運行次數(shù)void main()intorder320, count32 = 0, compare4 = 0, mem_volume4 = 100, 100, 100, 100; /compare數(shù)組中存放了每次要比較

6、的四個內(nèi)存塊中頁數(shù)的調(diào)用次數(shù) int 1=0, i=0, j, k=0, ex二0;int min, num=0, n, sign二0, add=0;float value二0, sunFO;srand(time(NULL);for(cx=0;cx<N;cx+)while(i<320) order i =rand () %320; for(j=0;j<4;j+) if(orderi+1)/10=mem_volumej)n= (orderi+1)/10;countn+=l;signal; /相同執(zhí)行加1操作if(sign)sign=0;else1+;if(mem_volume3

7、=100)memvolume3二(orderi+l)/10;n=(orderi+l)/10;countn+=l;else min二1000;for(num=0;num<4;num+) k=mem_volumenum; comparenum=countk; if(comparenum<min) min=comparenum;j二num;通過比較確定最少使用的頁數(shù), memvolume j = (order i+l)/10;i+;orderi=rand()%(orderil+2);for(j=0;j<4;j+)i f(orderi/10=mem_volumej) n=orderi

8、/10;countn+=l; signal;if(sign)sign=0;else 1+;if(mem_volume2=100)mem_volume2=(orderi+l)/10; n= (orderi+1)/10;countn+=l; else min=1000;for(num=0;num<4;num+) k=mem_volumenum; comparenum=countk; if(comparenum<min) min=comparenum; j二num; mem_volumej=(orderi+l)/10;i+;orderi=order i-1+1; for(j=0;j<

9、;4;j+)if (order i/10 mem_volumejl) n=orderi/10;countn+=l; signal;if(sign)sign=0;else1+;if (mem_volume 1 =100) mem_volumel = (order i+l) /10; n= (order i+l)/10;countn+=l;else min=1000;for(num=0;num<4;num+) k=mem_volumenum; comparenum=countk; if(comparenum<min) min=comparenum; j二num; mem_volumej

10、=(orderi+l)/10;i+;order i=rand()%(319-order iT-2) + (order il+2); for(j=0;j<4;j+)if(orderi/10=mem_volume0)n=orderi/10;countn+=l; sign=l;if (sign)sign=0;else 1+;if(mem.volume0=100)mem_volume0=(orderi+l)/10; n= (orderi+1)/10;countn+=l;else min二1000;for(num=0;num<4;num+) k=mem_volumenum; comparenum=countk; if(comparenum<min) min=comparenum; j=num; mem_volumej=(orderi+l)/10;i+; value=l/*100;add=add+l;sum=sum+value;printf ("和*LFU 頁面置換算法*9(OC*睿睿歡歡*睿*9(OC*'I1' ) printf (z,* *歡* *水水*最后一次扌旨 令丿宇 歹ij*歡*歡*歡")for(i=0;i<320;i+)if(i%10=0) printf("n");print

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論