操作系統(tǒng)實(shí)驗(yàn)2.doc_第1頁
操作系統(tǒng)實(shí)驗(yàn)2.doc_第2頁
操作系統(tǒng)實(shí)驗(yàn)2.doc_第3頁
操作系統(tǒng)實(shí)驗(yàn)2.doc_第4頁
操作系統(tǒng)實(shí)驗(yàn)2.doc_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

北方工業(yè)大學(xué)實(shí) 驗(yàn) 報(bào) 告 書學(xué) 生 姓 名 學(xué) 號 班 級 2011 2012 學(xué)年 第 一 學(xué)期計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱 存儲管理實(shí)驗(yàn)序號實(shí)驗(yàn)二實(shí)驗(yàn)日期2012-12-17實(shí)驗(yàn)人高 雪一、實(shí)驗(yàn)?zāi)康暮鸵?請求頁式存儲管理是一種常用的虛擬存儲管理技術(shù)。本實(shí)驗(yàn)?zāi)康氖峭ㄟ^請求頁式存儲管理中頁面置換算法的模擬設(shè)計(jì),了解虛擬存儲技術(shù)的特點(diǎn),掌握請求頁式存儲管理的頁面置換算法。二、相關(guān)背景知識 虛擬存儲技術(shù):所謂虛擬存儲,就是把內(nèi)存與外存有機(jī)的結(jié)合起來使用,從而得到一個(gè)容量很大的“內(nèi)存”,這就稱之為虛擬存儲。 頁面置換算法:如果內(nèi)存空間已被裝滿而又要裝入新頁時(shí),必須按某種算法將內(nèi)存中的一些頁淘汰出去,以便于調(diào)入新頁,這個(gè)工作就是頁面置換。這個(gè)選擇淘汰頁的方法稱為頁面置換算法。如最佳值換算法,先進(jìn)先出,LRU,簡單的Clock算法等等。 隨機(jī)數(shù)產(chǎn)生:Linux或UNIX系統(tǒng)提供函數(shù)srand()和rand(),分別進(jìn)行初始化和產(chǎn)生隨機(jī)數(shù)。三、實(shí)驗(yàn)內(nèi)容1:通過隨機(jī)數(shù)產(chǎn)生一個(gè)指令序列,共320條指令。指令的地址按下述原則生成:50%的指令是順序執(zhí)行的;25%的指令是均勻分布在前地址部分;25%的指令是均勻分布在后地址部分;具體的實(shí)施方法是:在0,319的指令地址之間隨機(jī)選取一起點(diǎn)m;順序執(zhí)行一條指令,即執(zhí)行地址為m+1的指令;在前地址0,m+1中隨機(jī)選取一條指令并執(zhí)行,該指令的地址為m;順序執(zhí)行一條指令,其地址為m+1;在后地址m+2, 319中隨機(jī)選取一條指令并執(zhí)行;重復(fù)上述步驟15,直到執(zhí)行320次指令。2:將指令序列變換成頁地址流,設(shè)頁面大小為1K;用戶內(nèi)存容量為4頁到32頁;用戶虛存容量為32K。在用戶虛存中,按每K存放10條指令排列虛存地址,即320條指令在虛存中存放的方式為:第0條至第9條指令為第0頁(對應(yīng)虛存地址為0,9);第10條至第19條指令為第1頁(對應(yīng)虛存地址為10,19);第310條至第319條指令為第31頁(對應(yīng)虛存地址為310,319);按以上方式,用戶指令可以組成32頁。3:計(jì)算并輸出下述各種算法在不同內(nèi)存容量下的命中率。先進(jìn)先出頁面淘汰算法(FIFO)最近最久未使用頁面淘汰法(LRU)命中率=1 - 頁面失效次數(shù)/頁地址流長度在本實(shí)驗(yàn)中,頁地址流長度為320,頁面失效次數(shù)為每次訪問相應(yīng)指令時(shí),該指令對應(yīng)的頁不在內(nèi)存的次數(shù)。4、 關(guān)鍵數(shù)據(jù)結(jié)構(gòu)與函數(shù)的說明void FIFO(int*);/FIFO頁面算法的函數(shù)void LRU(int*);/LRU 頁面算法的函數(shù)數(shù)組 zhiling320是用來存放320條指令的void main() 用來調(diào)度FIFO LRU函數(shù),以及給320條指令初始化,并且給執(zhí)行過的指令改變數(shù)值作為標(biāo)記五、編譯與執(zhí)行過程截圖六、實(shí)驗(yàn)結(jié)果與分析七、調(diào)試時(shí)遇到的問題及解決方法(提供BUG截屏)八、調(diào)試后的程序源代碼#include#include#include#includevoid FIFO(int*);/FIFOvoid LRU(int*);/LRUvoid main()srand(unsigned)time(0);int zhiling320,n;int i,j,q=319,p,e,f,g;memset(zhiling,-1,sizeof(int)*320);p=0;i=320;while(i)again:dop=rand();while(p318|p%2=1|zhilingp!=-1|p=1);if(p=0) goto again;p+;g=0;for(j=0;jp;j+)if(zhilingj=-1) g+;if(g=0) goto again;doe=rand();while(e=p|e%2=1|zhilinge!=-1);e+;dof=rand();while(f319);zhilingp-1=p;zhilingp=e-1;zhilinge-1=e;zhilinge=f;g=0;for(j=0;j320;j+)if(zhilingj=-1) g+;i=g;for(i=0;i320;i+)printf(%d ,zhilingi);dodoprintf(算法:n1:FIFOn2:LRUn3:exitn);scanf(%d,&p);while(p!=1&p!=2&p!=3);if(p=1)FIFO(zhiling);if(p=2)LRU(zhiling);while(p!=3);void FIFO(int *c)int i,j,n,*m,a=0,b=0,f;float r;doprintf(請輸入用戶內(nèi)存頁數(shù)(4-32)n);scanf(%d,&n);while(n32);m=(int*)malloc(sizeof(int)*n);memset(m,-1,sizeof(int)*n);for(i=0;i320;i+)f=0;for(j=0;jn;j+)if(ci=mj*10)f=1;if(f=0)a+;mb=ci/10;b+;if(b=n) b=0;r=1.0-(float)a)/320.0;printf(FIFO算法命中率為:%fn,r);free(m);void LRU(int *c)int i,j,n,*m,*t,f,k,miss=0;float r;doprintf(請輸入用戶內(nèi)存頁數(shù)(4-32)n);scanf(%d,&n);while(n32);m=(int*)malloc(sizeof(int)*n);t=(int*)malloc(sizeof(int)*n);memset(m,-1,sizeof(int)*n);memset(t,0,sizeof(int)*n);for(i=0;i320;i+)f=0;for(j=0;jn;j+)if(ci=mj*10)f=1;tj=-1;break;for(j=0;jn;j+)tj+;if(f=0)miss+;k=0;for(j=0;jtk)k=j;tk=0;mk=ci/10;r=1.0-(float)miss)/320.0;printf(LRU算法命中率為:%fn,r);free(m);free(t);九、實(shí)驗(yàn)體會 這個(gè)實(shí)驗(yàn)難度非常大。主要在于對實(shí)驗(yàn)要求的理解,首先就是320條指令,這個(gè)代碼是通過數(shù)組對指令進(jìn)行了模擬,初始全為-1,執(zhí)行過的擇復(fù)制給該指令跳轉(zhuǎn)到的下一條指令的數(shù)字。這樣做的目的,是為了后面的算法,在頁面中可以進(jìn)行數(shù)字的判定,以判斷是否命中。這個(gè)第一個(gè)難點(diǎn)就是對于這320條指令的模擬,這段程序代碼的邏輯思維比較強(qiáng),特別是對于細(xì)節(jié)的處理,五步一共執(zhí)行了4條指令,每條指令的范圍必須要確定好。第二個(gè)難點(diǎn)就在于對FIFO與LRU的理解,如果對于這2個(gè)調(diào)度算法的命中或不命中不能理解的話,是無法完成程序的。另外一個(gè)小的技巧:入在FIFO中,

溫馨提示

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

評論

0/150

提交評論