一目的與要求_第1頁
一目的與要求_第2頁
一目的與要求_第3頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目的與要求(1) 請求頁式虛存管理是常用的虛擬存儲管理方案之一。(2) 通過請求頁式虛存管理中對頁面置換算法的模擬,加深理解虛擬存儲技術的特點。(3 )加深對請求頁式虛存管理的頁面調度算法的理解。實驗內容或題目(1) 本實驗要求使用C語言編程模擬一個擁有若干個虛頁的進程在給定的若干個實頁中運行、并在缺頁中斷發生時分別使用FIFO和LRU算法進行頁面置換的情形。(2) 虛頁的個數可以事先給定(例如10個),對這些虛頁訪問的頁地址流(其長度可以事先給定,例如20次虛頁訪問)可以由程序隨機產生,也可以事先保存在文件中。(3) 要求程序運行時屏幕能顯示出置換過程中的狀態信息并輸出訪問結束時的頁面命中率

2、。(4) 程序應允許通過為該進程分配不同的實頁數,來比較兩種置換算法的穩定性。三實驗步驟與源程序(1) 實驗步驟1、理解好相關實驗說明。2、根據實驗說明,畫出相應的程序流程圖。3、按照程序流程圖,用 C語言編程并實現。(2) 流程圖如下:虛頁和實頁結構在虛頁結構中,pn代表虛頁號,因為共10個虛頁,所以pn的取值范圍是09。pfn代表實 頁號,當一虛頁未裝入實頁時,此項值為-1 ;當該虛頁已裝入某一實頁時,此項值為所裝入的實頁的實頁號pfn。time項在FIFO算法中不使用,在 LRU中用來存放對該虛頁的最近訪問時間。在實頁結構中中,pn代表虛頁號,表示pn所代表的虛頁目前正放在此實頁中。pf

3、n代表實頁號,取值范圍(0n-1 )由動態指派的實頁數 n所決定。next是一個指向實頁結構體的指針,用于多個1 / 6'.實頁以鏈表形式組織起來,關于實頁鏈表的組織詳見下面第4點。程序流程圖如下:(3) 源程序如下:#include<iostream.h>#define M 40int N;struct Proint num,time;int lnput(int m,Pro pM)coutvv"請輸入實際頁數:"docin>>m;if(m>M)cout<<"數目太多,請重試"endl;else brea

4、k;while(1);/coutvv"請輸入各頁面號:"for(int i=0;i<m;i+)coutvv"第"vvivv"個頁面號為:"cin»pi.num;pi.time=0;return m;2 / 6'.void print(Pro *page1)打印當前的頁面Pro *page=new ProN;page=page1;for(i nt i=0;i<N;i+)coutvvpagei. num<<"" coutvvendl;int Search(int e,Pro *

5、page1 )Pro *page=new ProN;page=page1;for(int i=0;i<N;i+)if(e=pagei.num)return i;return -1;int Max(Pro *page1)Pro *page=new ProN;page=page1;int e=page0.time,i=0;while(ivN)/找出離現在時間最長的頁面if(evpagei.time)e=pagei.time;i+;for( i=0;ivN;i+)if(e=pagei.time)return i;return -1;int Compfu(Pro *page1,int i,int

6、 t,Pro pM)Pro *page=new ProN;page=page1;int count=0;for(int j=i;jvM;j+)if(paget.num=pj.num )break;else count+;return count;int main()coutvv"可用內存頁面數:"cin»N;3 / 6'.Pro pM;Pro *page=new ProN;char c;int m=0,t=0;float n=0; m=lnput(m,p);初試化頁面基本情況dofor(int i=0;i<N;i+) pagei.num=0; pag

7、ei.time=2-i;i=0;coutvv'I *"vvendl;cout<v"*f:FIFO 頁面置換 *"<<endl;coutvv"* |:LRU頁面置換 *"vvendl;coutvv"*o:OPT頁面置換 *"vvendl;coutvv"*按其它鍵結束*"vvendl;coutvv"I *"vvendl;coutvv"請選擇操作類型(f,l,o):"cin>>c;if(c='f')/FIFO頁面置換n

8、=0;coutvv"頁面置換情況:"vvendl;while(ivm)找到相同的頁面if(Search(pi.num,page)>=0)i+;elseif(t=N)t=0;elsen+;/paget.num=pi.num;print(page);t+;:"v vn/mvve ndl;coutvv"缺頁次數:"vvnvv"缺頁率if(c=T)/LRU頁面置換 n=0;coutvv"頁面置換情況:"vvendl;while(ivm)4 / 6'.int k; k=t=Search(pi.num,page)

9、;if(t>=0)paget.time=O;elsen+;t=Max(page);paget.num=pi.num;paget.time=0; if(t=0)paget+1.time+;paget+2.time+; if(t=1)page2.time+;page0.time+; if(t=2)page1.time+;page0.time+; if(k=-1) print(page);i+;"vvn/mvvendl;coutvv"缺頁次數:"vvnvv"缺頁率:if(c='o')/OPT頁面置換n=0;while(ivm)if(Search(pi.num,page)>=0)i+;elseint temp=0,cn;for(t=0;tvN;t+) if(tempvCompfu(page,i,t,p) temp=Compfu(page,i,t,p); cn=t;pagecn=pi;n+;print(page);i+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論