




已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
淮海工學(xué)院計(jì)算機(jī)工程學(xué)院實(shí)驗(yàn)報(bào)告書(shū)課 程 名: 操作系統(tǒng)原理 題 目: 實(shí)驗(yàn)三:虛擬存儲(chǔ)器管理 學(xué) 號(hào): 姓 名: 評(píng)語(yǔ):成績(jī): 指導(dǎo)教師: 批閱時(shí)間: 年 月 日1、 設(shè)計(jì)目的:通過(guò)實(shí)驗(yàn),掌握常用頁(yè)面置換算法(OPT,FIFO,LRU,LFU)的運(yùn)行機(jī)理,運(yùn)用以前所學(xué)的知識(shí),編程實(shí)現(xiàn)對(duì)各算法的模擬。2、 設(shè)計(jì)要求:運(yùn)用所學(xué)的知識(shí),編程實(shí)現(xiàn)各算法,實(shí)現(xiàn)平臺(tái)不限。本次實(shí)驗(yàn)共計(jì)四課時(shí),前兩課時(shí)要求對(duì)各頁(yè)面置換算法有較為深入的了解,著手進(jìn)行程序編制,作出大致的程序框架;后兩次課中,主要是程序的調(diào)試、實(shí)驗(yàn)報(bào)告的完善與修改等。3、 實(shí)驗(yàn)結(jié)果分析1)代碼:1、OPT算法java實(shí)現(xiàn))核心代碼段:實(shí)驗(yàn)判斷是否有缺頁(yè)public void Opt() int m_absent;/ 缺頁(yè)數(shù) double m_absentf;/ 缺頁(yè)率 double m_changef;/ 命中率 int mym;/ 存放物理塊中現(xiàn)有的頁(yè)面號(hào) int myb; int as = 0;/ 置換頁(yè)面數(shù) myb = new intn; int m1 = 0, a; boolean x; / 頁(yè)面是否需要置換 String str2, str1,str3; String m_list = OPT置換算法 被替換; mym = new intm; for (int i = 0; i n; i+) str1 = ; str2 = ; str3=; x = true; for (int k = 0; k m; k+) if (myti = mymk)/ 判斷物理塊中的頁(yè)面是否與當(dāng)前頁(yè)面相等 x = false;/ 判斷物理塊中是不是有跟當(dāng)前須替換的頁(yè)面 m1+; break; if (x) int c = 0, d; if (i - m1) m) a = i - m1; / 當(dāng)前物理頁(yè)面未填滿(mǎn)時(shí)直接裝入 else for (int k = 0; k m; k+) for (int h = i; h n; h+) if (mymk = myth)/ 判斷物理塊中的頁(yè)面是否與未來(lái)頁(yè)面相等 mybk = h; break; if (h = n - 1) mybk = n; d = myb0; for (int h = 0; h m; h+) if (d mybh) d = mybh; c = h; a = c; / 找出物理塊中未來(lái)最久將不被使用的頁(yè)面號(hào) str3=String.valueOf(myma); myma = myti;/ 將其替換 as+; for (int j = 0; j m; j+) int b; b = mymj; str2 = String.valueOf(b); str1 = str1 + + str2; m_list = m_list + n + str1+ +str3; m_absent = as; m_absentf = (double) as / n; if (as - m) = 0) m_changef = 0; else m_changef = (double)(1-m_absentf); 2、FIFO算法java實(shí)現(xiàn))核心代碼段:實(shí)驗(yàn)判斷是否有缺頁(yè) public void FIFO() int m_absent;/ 缺頁(yè)數(shù) double m_absentf;/ 缺頁(yè)率 double m_changef;/ 命中率 int mym;/ 存放物理塊中現(xiàn)有的頁(yè)面號(hào) int m1 = 0, r; int as = 0;/ 置換頁(yè)面數(shù) boolean x; / 頁(yè)面是否需要置換 String str1, str2,str3; String m_list = FIFO置換算法 被替換; mym = new intm; for (int i = 0; i n; i+) str1 = ; str2 = ; str3= ; x = true; for (int k = 0; k m; k+) if (myti = mymk) x = false;/ 判斷物理塊中是不是有跟當(dāng)前須替換的頁(yè)面 break; if (x) str3= String.valueOf(mym0); mym0 = myti; for (r = 0; r m - 1; r+) mymr = mymr + 1;mymr = myti; as+; int b;for (int j = 0; j m; j+) b = mymj;str2 = String.valueOf(b); str1 = str1 + + str2; m_list=m_list+n+str1+ +str3; m_absent = as; m_absentf = (double) as / n; if (as - m) = 0) m_changef = 0; else m_changef = (double) (1-m_absentf); 3、LRU算法(java實(shí)現(xiàn))核心代碼段:實(shí)驗(yàn)判斷是否有缺頁(yè) public void LRU() int m_absent;/ 缺頁(yè)數(shù) double m_absentf;/ 缺頁(yè)率 double m_changef;/ 命中率 int mym;/ 存放物理塊中現(xiàn)有的頁(yè)面號(hào) int myb; int as = 0;/ 置換頁(yè)面數(shù) myb = new intn; int m1 = 0, a; boolean x; / 頁(yè)面是否需要置換 String str2, str1,str3; String m_list = LUR置換算法 被替換; mym = new intm; for (int i = 0; i n; i+) str1 = ; str2 = ; str3=; x = true; for (int k = 0; k m; k+) if (myti = mymk)/ 判斷物理塊中的頁(yè)面是否與當(dāng)前頁(yè)面相等 mybk = myb0; for (int j = 0; j m; j+) if (j != k) mybj = mybj + 1;/ 使物理塊中的每個(gè)未使用頁(yè)面的時(shí)間增一 x = false;/ 判斷物理塊中是不是有跟當(dāng)前須替換的頁(yè)面 m1+; break; if (x) int c = 0, d; if (i - m1) m) a = i - m1; / 當(dāng)前物理頁(yè)面未填滿(mǎn)時(shí)直接裝入 else d = myb0; for (int h = 0; h m; h+) if (d mybh) d = mybh; c = h; a = c; / 找出物理塊中最久未使用的頁(yè)面號(hào) str3= String.valueOf(myma); myma = myti;/ 將其替換 myba = 0; for (int k = 0; k m; k+) if (k != a) mybk = mybk + 1;/ 使物理塊中的每個(gè)未改變頁(yè)面的時(shí)間增一 myba = 0; as+; for (int j = 0; j m; j+) int b; b = mymj; str2 = String.valueOf(b); str1 = str1 + + str2; m_list = m_list + n + str1+ +str3; m_absent = as; m_absentf = (double) as / n; if (as - m) = 0) m_changef = 0; else m_changef = (double)(1-m_absentf); 2)算法分析:1、OPT算法:最佳算法其選擇的淘汰頁(yè)面,將使以后用不使用的,或者是在長(zhǎng)時(shí)間內(nèi)不需要使用的。最佳頁(yè)面置換算法通常可以保證獲得一個(gè)最低的缺頁(yè)率。不過(guò)最佳置換算法是一種理想化的算法,它具有最好的性能,但是實(shí)際上難以實(shí)現(xiàn)。2、FIFO算法:先進(jìn)先出算法是一個(gè)最直觀的算法,但是它性能可能是最差的故而在實(shí)際應(yīng)用也很少使用。先進(jìn)先出算法是最早出現(xiàn)的置換算法,此算法總是淘汰最先進(jìn)入的頁(yè)面,即選擇在內(nèi)存中駐留時(shí)間最長(zhǎng)的頁(yè)面淘汰。不過(guò)該算法實(shí)現(xiàn)比較的簡(jiǎn)單。算法思想分析:首先輸入內(nèi)存可用的物理塊數(shù)m和用戶(hù)輸入的頁(yè)面號(hào)的長(zhǎng)度n,然后輸入用戶(hù)自定義的頁(yè)面號(hào)放入mytn中。定義一個(gè)數(shù)組mymm存放當(dāng)前頁(yè)面。用m_absentf表示缺頁(yè)率,m_changef表示 命中率,其中命中率=1-缺頁(yè)率,缺頁(yè)率=as/n(其中as表示缺頁(yè)數(shù))。程序執(zhí)行過(guò)程如下:FIFO1254653278頁(yè)10004663278頁(yè)20055446327頁(yè)30222554632頁(yè)41111225463置換頁(yè)000012546頁(yè)面置換方法:以類(lèi)似隊(duì)列的方式,每次讀入一個(gè)頁(yè)面,如果數(shù)組中不存在此頁(yè)面,則將數(shù)組內(nèi)容保持不變。例如:上面讀入5號(hào)頁(yè)時(shí),內(nèi)存中存在5號(hào)頁(yè)面,則保持?jǐn)?shù)組內(nèi)內(nèi)容不變;如果數(shù)組中不存在此頁(yè)面,則進(jìn)行移動(dòng),例如:上面第五次讀入6號(hào)頁(yè)時(shí),此時(shí)內(nèi)存中不存在6號(hào)頁(yè)面,則進(jìn)行頁(yè)面順序移動(dòng),3、LRU算法:LRU是Least Recently Used 近期最少使用算法。假設(shè) 序列為 4 3 4 2 3 1 4 2物理塊有3個(gè) 則首輪 4調(diào)入內(nèi)存 4次輪 3調(diào)入內(nèi)存 3 4之后 4調(diào)入內(nèi)存 4 3之后 2調(diào)入內(nèi)存 2 4 3之后 3調(diào)入內(nèi)存 3 2 4之后 1調(diào)入內(nèi)存 1 3 2(因?yàn)樽钌偈褂玫氖?,所以丟棄4)之后 4調(diào)入內(nèi)存 4 1 3(原理同上)最后 2調(diào)入內(nèi)存 2 4 13)代碼分析:主要數(shù)據(jù)結(jié)構(gòu)(1)根據(jù)用戶(hù)需要隨機(jī)輸入數(shù)產(chǎn)生:數(shù)組(2)理想頁(yè)面置換(OPT)算法:數(shù)組函數(shù)定義:(1)public pageChange():輸入界面函數(shù).(2)void misInPut():獲取用戶(hù)自定義輸入的頁(yè)面號(hào)數(shù)組.(3)Void FIFO( ):計(jì)算使用FIFO算法時(shí)的命中率.(4)public displayView():輸出界面函數(shù).變量定義(1)int m_absent : 缺頁(yè)數(shù)(2)double m_absentf : 缺頁(yè)率(3)double m_changef : 頁(yè)面命中率(4)int mym : 存放物理塊中現(xiàn)有的頁(yè)面號(hào)(5)int as = 0 : 置換頁(yè)面數(shù)(6)boolean x : 頁(yè)面是否需要置換程序?qū)哟谓Y(jié)構(gòu)程序包括3個(gè)類(lèi):【main】 : 測(cè)試主函數(shù)【displayView】 : 輸出界面設(shè)計(jì)類(lèi)【pageChang】 : 輸入界面設(shè)計(jì),misInPut頁(yè)面訪問(wèn)序列讀入方法體,OPT方法體,F(xiàn)IFO方法體,LRU方法體。4)實(shí)驗(yàn)結(jié)果截圖圖一:OPT算法圖二:FIFO算法圖三:LRU算法四、實(shí)驗(yàn)小結(jié)本次實(shí)驗(yàn)的內(nèi)容是頁(yè)面置換算法的實(shí)現(xiàn),在本次的實(shí)驗(yàn)過(guò)程中通過(guò)參考別人的算法結(jié)合自己對(duì)頁(yè)面置換算法的理解完成本次的實(shí)驗(yàn)。本次的實(shí)驗(yàn)實(shí)現(xiàn)仍然
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆新疆巴州三中高一下化學(xué)期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- 廣西貴港市2025屆化學(xué)高二下期末聯(lián)考模擬試題含解析
- 情感觸覺(jué)模擬-洞察及研究
- 區(qū)塊鏈追溯系統(tǒng)設(shè)計(jì)-洞察及研究
- 北京東城區(qū)北京匯文中學(xué)2025屆化學(xué)高一下期末質(zhì)量檢測(cè)模擬試題含解析
- 四川樂(lè)山市2025年高二化學(xué)第二學(xué)期期末監(jiān)測(cè)試題含解析
- 熱催化轉(zhuǎn)化機(jī)理-洞察及研究
- 2025屆西藏林芝地區(qū)二高高二下化學(xué)期末綜合測(cè)試模擬試題含解析
- 需求工程自動(dòng)化工具-洞察闡釋
- 社區(qū)記憶的傳播效果實(shí)證研究-洞察闡釋
- 《從偶然到必然:華為研發(fā)投資與管理實(shí)踐》第1,2章試題
- 2025年公安輔警招聘知識(shí)考試題(附含答案)
- 辦公家具采購(gòu)項(xiàng)目投標(biāo)方案投標(biāo)文件(技術(shù)方案)
- 電子商務(wù)數(shù)據(jù)分析實(shí)戰(zhàn)題庫(kù)
- 中醫(yī)基礎(chǔ)知識(shí)津液課件
- 義務(wù)教育物理課程標(biāo)準(zhǔn)
- 國(guó)家開(kāi)放大學(xué)本科《商務(wù)英語(yǔ)4》一平臺(tái)在線形考(單元自測(cè)1至8)試題及答案2025珍藏版
- 2025浙江紹興市高速公路運(yùn)營(yíng)管理限公司高速公路人員招聘277人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國(guó)不銹鋼化學(xué)蝕刻劑市場(chǎng)調(diào)查研究報(bào)告
- 分級(jí)護(hù)理質(zhì)量追蹤與持續(xù)改進(jìn)
- 中學(xué)生暑期法制安全教育
評(píng)論
0/150
提交評(píng)論