下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信息工程學(xué)院實(shí)驗(yàn)報(bào)告 成 績(jī):課程名稱:操作系統(tǒng) 指導(dǎo)教師(簽名):實(shí)驗(yàn)項(xiàng)目名稱:請(qǐng)求頁(yè)式存儲(chǔ)管理中常用頁(yè)面置換算法模擬 實(shí)驗(yàn)時(shí)間: 班級(jí) 姓名: 學(xué)號(hào): 一、實(shí) 驗(yàn) 目 的: 1. 了解內(nèi)存分頁(yè)管理策略2. 掌握調(diào)頁(yè)策略3. 掌握一般常用的調(diào)度算法4. 學(xué)會(huì)各種存儲(chǔ)分配算法的實(shí)現(xiàn)方法。5. 了解頁(yè)面大小和內(nèi)存實(shí)際容量對(duì)命中率的影響。二、實(shí) 驗(yàn) 環(huán) 境:PC機(jī)、windows2000 操作系統(tǒng)、VC+6.0三、實(shí) 驗(yàn) 要 求:本實(shí)驗(yàn)要求4學(xué)時(shí)完成。1. 采用頁(yè)式分配存儲(chǔ)方案,通過(guò)分別計(jì)算不同算法的命中率來(lái)比較算法的優(yōu)劣,同時(shí)也考慮頁(yè)面大小及內(nèi)存實(shí)際容量對(duì)命中率的影響;2. 實(shí)現(xiàn)OPT 算法 (
2、最優(yōu)置換算法) 、LRU 算法 (Least Recently) 、 FIFO 算法 (First IN First Out)的模擬;3. 會(huì)使用某種編程語(yǔ)言。實(shí)驗(yàn)前應(yīng)復(fù)習(xí)實(shí)驗(yàn)中所涉及的理論知識(shí)和算法,針對(duì)實(shí)驗(yàn)要求完成基本代碼編寫、實(shí)驗(yàn)中認(rèn)真調(diào)試所編代碼并進(jìn)行必要的測(cè)試、記錄并分析實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)后認(rèn)真書寫符合規(guī)范格式的實(shí)驗(yàn)報(bào)告,按時(shí)上交。四、實(shí) 驗(yàn) 內(nèi) 容 和 步 驟:1. 編寫程序,實(shí)現(xiàn)請(qǐng)求頁(yè)式存儲(chǔ)管理中常用頁(yè)面置換算法LRU算法的模擬。要求屏幕顯示LRU算法的性能分析表、缺頁(yè)中斷次數(shù)以及缺頁(yè)率。2. 在上機(jī)環(huán)境中輸入程序,調(diào)試,編譯。3. 設(shè)計(jì)輸入數(shù)據(jù),寫出程序的執(zhí)行結(jié)
3、果。4. 根據(jù)具體實(shí)驗(yàn)要求,填寫好實(shí)驗(yàn)報(bào)告。五、實(shí) 驗(yàn) 結(jié) 果 及 分 析:實(shí)驗(yàn)結(jié)果截圖如下:利用一個(gè)特殊的棧來(lái)保存當(dāng)前使用的各個(gè)頁(yè)面的頁(yè)面號(hào)。當(dāng)進(jìn)程訪問(wèn)某頁(yè)面時(shí),便將該頁(yè)面的頁(yè)面號(hào)從棧中移出,將它壓入棧頂。因此,棧頂始終是最新被訪問(wèn)頁(yè)面的編號(hào),棧底是最近最久未被使用的頁(yè)面號(hào)。當(dāng)訪問(wèn)第5個(gè)數(shù)據(jù)“5”時(shí)發(fā)生了缺頁(yè),此時(shí)1是最近最久未被訪問(wèn)的頁(yè),應(yīng)將它置換出去。同理可得,調(diào)入隊(duì)列為:1 2 3 4 5 6 7 1 3 2 0 5,缺頁(yè)次數(shù)為12次,缺頁(yè)率為80%。六、實(shí) 驗(yàn) 心 得:本次實(shí)驗(yàn)實(shí)現(xiàn)了對(duì)請(qǐng)求頁(yè)式存儲(chǔ)管理中常用頁(yè)面置換算法LRU算法的模擬。通過(guò)實(shí)驗(yàn),我對(duì)內(nèi)存分頁(yè)管理策略有了更多的了解。最
4、近最久未使用(LRU)置換算法的替換規(guī)則:是根據(jù)頁(yè)面調(diào)入內(nèi)存后的使用情況來(lái)進(jìn)行決策的。該算法賦予每個(gè)頁(yè)面一個(gè)訪問(wèn)字段,用來(lái)記錄一個(gè)頁(yè)面自上次被訪問(wèn)以來(lái)所經(jīng)歷的時(shí)間,當(dāng)需淘汰一個(gè)頁(yè)面的時(shí)候選擇現(xiàn)有頁(yè)面中其時(shí)間值最大的進(jìn)行淘汰。最佳置換算法的替換規(guī)則:其所選擇的被淘汰頁(yè)面,將是以后永不使用的或許是在最長(zhǎng)(未來(lái))時(shí)間內(nèi)不再被訪問(wèn)的頁(yè)面。先進(jìn)先出(FIFO)頁(yè)面置換算法的替換規(guī)則:該算法總是淘汰最先進(jìn)入內(nèi)存的頁(yè)面,即選擇在內(nèi)存中駐留時(shí)間最久的頁(yè)面予以淘汰。該算法實(shí)現(xiàn)簡(jiǎn)單只需把一個(gè)進(jìn)程已調(diào)入內(nèi)存的頁(yè)面,按先后次序鏈接成一個(gè)隊(duì)列,并設(shè)置一個(gè)指針,稱為替換指針,使它總是指向最老的頁(yè)面。三種替換算法的命中率由
5、高到底排列OPT>LRU>FIFO。本次的程序是在網(wǎng)上查找的相關(guān)代碼然后自己進(jìn)行修改,先自己仔細(xì)地研讀了這段代碼,在這過(guò)程中我對(duì)C+代碼編寫有了更深的了解。總之,本次實(shí)驗(yàn)使我明白要學(xué)會(huì)把課堂上的理論應(yīng)用到實(shí)際操作中。我需要在今后熟練掌握課堂上的理論基礎(chǔ),只有堅(jiān)實(shí)的基礎(chǔ),才能在實(shí)際操作中更得心應(yīng)手。附 錄:#include "iostream.h"#include <iomanip.h>const int DataMax=100;const int BlockNum = 10;int DataShowBlockNumDataMax; / 用于存儲(chǔ)要顯示
6、的數(shù)組bool DataShowEnableBlockNumDataMax; / 用于存儲(chǔ)數(shù)組中的數(shù)據(jù)是否需要顯示int DataDataMax; / 保存數(shù)據(jù)int BlockBlockNum; / 物理塊int countBlockNum; / 計(jì)數(shù)器int N ; / 頁(yè)面?zhèn)€數(shù)int M;/最小物理塊數(shù)int ChangeTimes;void DataInput(); / 輸入數(shù)據(jù)的函數(shù)void DataOutput();void LRU(); / LRU函數(shù)/*int main(int argc, char* argv) DataInput();/ DataInput(); LRU()
7、; return 0; /*/void DataInput() cout<<"請(qǐng)輸入最小物理塊數(shù):" cin>>M; while(M > BlockNum) / 大于數(shù)據(jù)個(gè)數(shù) cout<<"物理塊數(shù)超過(guò)預(yù)定值,請(qǐng)重新輸入:" cin>>M; cout<<"請(qǐng)輸入頁(yè)面的個(gè)數(shù):" cin>>N; while(N > DataMax) / 大于數(shù)據(jù)個(gè)數(shù) cout<<"頁(yè)面?zhèn)€數(shù)超過(guò)預(yù)定值,請(qǐng)重新輸入:" cin>>N
8、; cout<<"請(qǐng)輸入頁(yè)面訪問(wèn)序列:"<<endl; for(int i=0;i<N;i+) cin>>Datai;void DataOutput() int i,j; for(i=0;i<N;i+) / 對(duì)所有數(shù)據(jù)操作 cout<<Datai<<” ”; cout<<"n-"<<endl; for(j=0;j<M;j+) cout<<" " for(i=0;i<N;i+) / 對(duì)所有數(shù)據(jù)操作 if( DataSh
9、owEnableji ) cout<<DataShowji<<" | " else cout<<" | " cout<<endl; cout<<"n缺頁(yè)次數(shù): "<<ChangeTimes<<endl; cout<<"缺頁(yè)率: "<<ChangeTimes*100/N<<"%"<<endl;void LRU() int i,j; bool find; int poi
10、nt; int temp; / 臨時(shí)變量 ChangeTimes = 0; for(j=0;j<M;j+) for(i=0;i<N;i+) DataShowEnableji = false; / 初始化為false,表示沒有要顯示的數(shù)據(jù) for(i=0;i<M;i+) counti = 0 ; for(i=0;i<N;i+) / 對(duì)有所數(shù)據(jù)操作 / 增加count for(j=0;j<M;j+) countj+; find = false; / 表示塊中有沒有該數(shù)據(jù) for(j=0;j<M;j+) if( Blockj = Datai ) countj =
11、0; find = true; if( find ) continue; / 塊中有該數(shù)據(jù),判斷下一個(gè)數(shù)據(jù) / 塊中沒有該數(shù)據(jù) ChangeTimes+; / 缺頁(yè)次數(shù)+ if( (i+1) > M ) / 因?yàn)閕是從0開始記,而BlockNum指的是個(gè)數(shù),從1開始,所以i+1 /獲得要替換的塊指針 temp = 0; for(j=0;j<M;j+) if( temp < countj ) temp = countj; point = j; / 獲得離的最遠(yuǎn)的指針 else point = i; / 替換 Blockpoint = Datai; countpoint = 0; / 保存要顯示的數(shù)據(jù) for(j=0;j<M;j+) DataS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF(陜) 049-2021 變壓器交流阻抗參數(shù)測(cè)試儀校準(zhǔn)規(guī)范
- 農(nóng)業(yè)企業(yè)管理流程培訓(xùn)
- 學(xué)習(xí)投資風(fēng)格與風(fēng)險(xiǎn)管理計(jì)劃
- 幼兒園游戲規(guī)則與禮儀教育方案計(jì)劃
- 主管的親和力提升建議計(jì)劃
- 學(xué)校教學(xué)工作總體計(jì)劃
- 包裝材料加工機(jī)械相關(guān)項(xiàng)目投資計(jì)劃書范本
- 一卡通管理系統(tǒng)相關(guān)行業(yè)投資規(guī)劃報(bào)告
- 射頻消融儀相關(guān)項(xiàng)目投資計(jì)劃書
- 體外診斷儀器行業(yè)相關(guān)投資計(jì)劃提議
- 部編版三年級(jí)上冊(cè)語(yǔ)文《第四單元測(cè)試》(帶答案)
- 《推拿治療小兒腹瀉》精品PPT
- 大學(xué)英語(yǔ)四級(jí)必背詞匯表21853
- 結(jié)構(gòu)設(shè)計(jì)面試題(答案)
- 升壓站、變電站架構(gòu)安裝方案
- 赤峰高鐵廣場(chǎng)商鋪?zhàn)赓U合同(樣本)
- 郭頂—水星記—歌詞
- 英文版?zhèn)€人簡(jiǎn)歷自薦信
- 其他專技、管理服務(wù)崗位聘期考核表
- 四年級(jí)上學(xué)期勞動(dòng)技術(shù)測(cè)試卷帶答案
- 關(guān)于學(xué)習(xí)考察應(yīng)急管理工作情況報(bào)告.doc
評(píng)論
0/150
提交評(píng)論