




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、操作系統原理實驗報告實驗三 頁面置換算法實驗專業:計算機科學與技術學號: 030840204姓名:簡鄲 實驗日期: 2010-5-22一、實驗目的通過模擬實現請求頁式存儲管理的幾種基本頁面置換算法,了解虛擬存儲技術的特點,掌握虛擬存儲請求 頁式存儲管理中幾種基本頁面置換算法的基本思想和實現過程,并比較它們的效率。二、實驗要求設計一個虛擬存儲區和內存工作區,并使用下述算法計算訪問命中率O1 .最佳淘汰算法(OPT )2 .先進先出的算法(FIFO)3 .最近最久未使用算法(LRU)三、實驗方法內容1.算法設計思路1 .假設分給一作業白內存塊數為4 ,每條指令占一個存儲單元, 每個頁面中可存放 1
2、0條指令;160條指令,即它的地址空間2 .設計一個程序,模擬一作業的執行過程。設該作業共有為16頁,最初作業的所有頁面都還未調入內存。在模擬過程中,如果所訪問的指令已經在內存,則顯示其物理地址,并轉下一條指令。如果所訪問的指令尚未裝入內存,則發生缺頁,此時需記錄缺頁的次數,并將相應頁調入內存。如果4個內存塊中均已裝入該作業的虛頁面,則需進行頁面置換;在所有 160條指令執行完畢后,請計算并顯示作業運行過程中發 生的缺頁率。3 .作業中指令的訪問次序要求按下述原則生成:具體的實施辦法是:(1)在0, 159之間隨機選取一條起始執行指令,其序號為m ;(2)順序執行兩條指令,即序號為(3)通過隨
3、機數,跳轉到前地址部分(4)順序執行兩條指令,即序號為(5)通過隨機數,跳轉到后地址部分(6)順序執行兩條指令,即序號為m+1、m+2的指令;0, m-1中的某條指令處,其序號為m1 ;m1+1 , m1+2 的指令;m1+3 ,159中的某條指令處,其序號為 m2 ;m2+1 , m2+2的指令;若 m2+2159只執行一條指令;”的過程,直至執行(7)重復跳轉到前地址部分、順序執行、跳轉到后地址部分、順序執行 完全部160條指令4 .算法流程圖5 .算法中用到的數據結構6 .主要的常量變量7 .主要模塊四、實驗代碼#include#include#include#include#defin
4、e total_instruction 200/*指令流長 */#define M 16/* 實際頁數*/#define N 4/可用頁面數struct Proint num,time;int atotal_instruction;int pageN;void Input(Pro ptotal_instruction)int m,i,m1,m2;srand( (unsigned int )time(NULL);m=rand( )%160;/for(i=0;itotal_instruction;) /* 產生指令隊列 */if(m159)printf(When i=%d,Error,m=%dn,
5、i,m);exit(0);ai=m;/*任選一指令訪問點 m*/ai+1=ai+1;ai+2=ai+2;/*順序執行兩條指令*/int m1=rand( )%m; /* 執行前地址指令m1 */ai+3=m1;ai+4=m1+1;ai+5=m1 + 2;/* 順序執行兩條指令*/ s=(158-ai+5)*rand( )/32767/32767/2+ai+5+2;m2 = rand()%(157-m1)+m1+3;ai+6=m2;if( (m2+2) 159 )ai+7 = m2+1;i +=8;elseai+7 = m2+1;ai+8 = m2+2;i = i+9;m = rand()%m2
6、;for (i=0;itotal_instruction;i+) /* 將指令序列變換成頁地址流*/pi.num=ai/10;pi.time = 0;void print(Pro *page1)/ 打印當前的頁面Pro *page=new ProN;page=page1;for(int i=0;iN;i+) coutpagei.num ;coutendl;int Search(int e,Pro *page1 )Pro *page=new ProN;page=page1;for(int i=0;iN;i+)if(e=pagei.num)return i;return -1;int Max(Pr
7、o *page1)Pro *page=new ProN;page=page1;int e=page0.time,i=0;while(iN)/ 找出離現在時間最長的頁面if(epagei.time)e=pagei.time;i+;for( i=0;iN;i+)if(e=pagei.time)return i;return -1;int Compfu(Pro *page1,int i,int t,Pro pM)Pro *page=new ProN;page=page1;int count=0;for(int j=i;jM;j+)if(paget.num=pj.num )break;else cou
8、nt+;return count;int main()Pro ptotal_instruction;Pro *page=new ProN;char c;int t=0;float n=0;Input(p);dofor(int i=0;iN;i+)/ 初試化頁面基本情況pagei.num=0;pagei.time=2-i;i=0;coutf:FIFO 頁面置換 endl;coutl:LRU 頁面置換endl;couto:OPT 頁面置換endl;cout 按其它鍵結束c;if(c=f)/FIFO 頁面置換n=0;cout 頁面置換情況: endl;while( i=0)i+;/ 找到相同的頁面e
9、lseif(t=N)t=0;elsen+;/paget.num=pi.num;print(page);t+;cout 缺頁次數: n 缺頁率: n/total_instructionendl;if(c=l)/LRU 頁面置換n=0;cout頁面置換情況:endl; while(i=0)paget.time=0; else ( n+;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+;cout缺頁次數:n 缺頁率:n/total_instructionendl; if(c=o)OPT 頁面置換 n=0;while(i=0)i+; else int temp=0,cn;for(t=0;tN;t+) if(tempCompfu(page,i,t,p) temp=Compfu(page,i,t,p); cn=t; page
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《古詩詞賞析》中的意境體會教學教案
- 海洋生物資源保護與管理知識點歸納
- 語文課文中文化傳承的啟示
- 車輛租賃協議條款
- 英語聽力訓練題及答案解析
- 《初中數學代數式的化簡與求值教學教案》
- 企業員工在職期間表現及職位變動證明書(5篇)
- 公司保安考試試題及答案
- 工訓安全考試題庫及答案
- 地勤筆試題目及答案
- 2025年中考語文二輪復習:字音 練習題(含答案)
- 港口上崗證考試試題及答案
- 臨床護理敏感質量指標解讀
- 中藥種植施工方案
- 廣東省深圳市31校2025年中考物理一模試卷(含答案)
- 2025年河北雄安友信能源技術服務有限公司招聘筆試參考題庫含答案解析
- 23《“蛟龍”探海》公開課一等獎創新教學設計
- 2025至2030年中國川貝行業發展研究報告001
- 廣東省廣州市天河區2022-2023學年三年級下學期數學期末試卷
- 鐵路通信信號融合-深度研究
- 透析患者腦出血護理問題和措施
評論
0/150
提交評論