




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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)告書課 程 名: 操作系統(tǒng)原理 題 目: 實(shí)驗(yàn)三:虛擬存儲(chǔ)器管理 學(xué) 號(hào): 姓 名: 評(píng)語:成績: 指導(dǎo)教師: 批閱時(shí)間: 年 月 日1、 設(shè)計(jì)目的:通過實(shí)驗(yàn),掌握常用頁面置換算法(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ì)各頁面置換算法有較為深入的了解,著手進(jìn)行程序編制,作出大致的程序框架;后兩次課中,主要是程序的調(diào)試、實(shí)驗(yàn)報(bào)告的完善與修改等。3、 實(shí)驗(yàn)結(jié)果分析1)代碼:1、OPT算法java實(shí)現(xiàn))核心代碼段:實(shí)驗(yàn)判斷是否有缺頁public void Opt() int m_absent;/ 缺頁數(shù) double m_absentf;/ 缺頁率 double m_changef;/ 命中率 int mym;/ 存放物理塊中現(xiàn)有的頁面號(hào) int myb; int as = 0;/ 置換頁面數(shù) myb = new intn; int m1 = 0, a; boolean x; / 頁面是否需要置換 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)/ 判斷物理塊中的頁面是否與當(dāng)前頁面相等 x = false;/ 判斷物理塊中是不是有跟當(dāng)前須替換的頁面 m1+; break; if (x) int c = 0, d; if (i - m1) m) a = i - m1; / 當(dāng)前物理頁面未填滿時(shí)直接裝入 else for (int k = 0; k m; k+) for (int h = i; h n; h+) if (mymk = myth)/ 判斷物理塊中的頁面是否與未來頁面相等 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; / 找出物理塊中未來最久將不被使用的頁面號(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)判斷是否有缺頁 public void FIFO() int m_absent;/ 缺頁數(shù) double m_absentf;/ 缺頁率 double m_changef;/ 命中率 int mym;/ 存放物理塊中現(xiàn)有的頁面號(hào) int m1 = 0, r; int as = 0;/ 置換頁面數(shù) boolean x; / 頁面是否需要置換 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)前須替換的頁面 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)判斷是否有缺頁 public void LRU() int m_absent;/ 缺頁數(shù) double m_absentf;/ 缺頁率 double m_changef;/ 命中率 int mym;/ 存放物理塊中現(xiàn)有的頁面號(hào) int myb; int as = 0;/ 置換頁面數(shù) myb = new intn; int m1 = 0, a; boolean x; / 頁面是否需要置換 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)/ 判斷物理塊中的頁面是否與當(dāng)前頁面相等 mybk = myb0; for (int j = 0; j m; j+) if (j != k) mybj = mybj + 1;/ 使物理塊中的每個(gè)未使用頁面的時(shí)間增一 x = false;/ 判斷物理塊中是不是有跟當(dāng)前須替換的頁面 m1+; break; if (x) int c = 0, d; if (i - m1) m) a = i - m1; / 當(dāng)前物理頁面未填滿時(shí)直接裝入 else d = myb0; for (int h = 0; h m; h+) if (d mybh) d = mybh; c = h; a = c; / 找出物理塊中最久未使用的頁面號(hào) str3= String.valueOf(myma); myma = myti;/ 將其替換 myba = 0; for (int k = 0; k m; k+) if (k != a) mybk = mybk + 1;/ 使物理塊中的每個(gè)未改變頁面的時(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算法:最佳算法其選擇的淘汰頁面,將使以后用不使用的,或者是在長時(shí)間內(nèi)不需要使用的。最佳頁面置換算法通??梢员WC獲得一個(gè)最低的缺頁率。不過最佳置換算法是一種理想化的算法,它具有最好的性能,但是實(shí)際上難以實(shí)現(xiàn)。2、FIFO算法:先進(jìn)先出算法是一個(gè)最直觀的算法,但是它性能可能是最差的故而在實(shí)際應(yīng)用也很少使用。先進(jìn)先出算法是最早出現(xiàn)的置換算法,此算法總是淘汰最先進(jìn)入的頁面,即選擇在內(nèi)存中駐留時(shí)間最長的頁面淘汰。不過該算法實(shí)現(xiàn)比較的簡(jiǎn)單。算法思想分析:首先輸入內(nèi)存可用的物理塊數(shù)m和用戶輸入的頁面號(hào)的長度n,然后輸入用戶自定義的頁面號(hào)放入mytn中。定義一個(gè)數(shù)組mymm存放當(dāng)前頁面。用m_absentf表示缺頁率,m_changef表示 命中率,其中命中率=1-缺頁率,缺頁率=as/n(其中as表示缺頁數(shù))。程序執(zhí)行過程如下:FIFO1254653278頁10004663278頁20055446327頁30222554632頁41111225463置換頁000012546頁面置換方法:以類似隊(duì)列的方式,每次讀入一個(gè)頁面,如果數(shù)組中不存在此頁面,則將數(shù)組內(nèi)容保持不變。例如:上面讀入5號(hào)頁時(shí),內(nèi)存中存在5號(hào)頁面,則保持?jǐn)?shù)組內(nèi)內(nèi)容不變;如果數(shù)組中不存在此頁面,則進(jìn)行移動(dòng),例如:上面第五次讀入6號(hào)頁時(shí),此時(shí)內(nèi)存中不存在6號(hào)頁面,則進(jìn)行頁面順序移動(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ù)用戶需要隨機(jī)輸入數(shù)產(chǎn)生:數(shù)組(2)理想頁面置換(OPT)算法:數(shù)組函數(shù)定義:(1)public pageChange():輸入界面函數(shù).(2)void misInPut():獲取用戶自定義輸入的頁面號(hào)數(shù)組.(3)Void FIFO( ):計(jì)算使用FIFO算法時(shí)的命中率.(4)public displayView():輸出界面函數(shù).變量定義(1)int m_absent : 缺頁數(shù)(2)double m_absentf : 缺頁率(3)double m_changef : 頁面命中率(4)int mym : 存放物理塊中現(xiàn)有的頁面號(hào)(5)int as = 0 : 置換頁面數(shù)(6)boolean x : 頁面是否需要置換程序?qū)哟谓Y(jié)構(gòu)程序包括3個(gè)類:【main】 : 測(cè)試主函數(shù)【displayView】 : 輸出界面設(shè)計(jì)類【pageChang】 : 輸入界面設(shè)計(jì),misInPut頁面訪問序列讀入方法體,OPT方法體,F(xiàn)IFO方法體,LRU方法體。4)實(shí)驗(yàn)結(jié)果截圖圖一:OPT算法圖二:FIFO算法圖三:LRU算法四、實(shí)驗(yàn)小結(jié)本次實(shí)驗(yàn)的內(nèi)容是頁面置換算法的實(shí)現(xiàn),在本次的實(shí)驗(yàn)過程中通過參考別人的算法結(jié)合自己對(duì)頁面置換算法的理解完成本次的實(shí)驗(yàn)。本次的實(shí)驗(yàn)實(shí)現(xiàn)仍然
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年軟件設(shè)計(jì)師考試內(nèi)容解析及試題答案
- 使用數(shù)據(jù)庫編程的VB考試題及答案
- 河南省平頂山市舞鋼市2025屆八年級(jí)數(shù)學(xué)第二學(xué)期期末監(jiān)測(cè)模擬試題含解析
- 2025屆浙江省杭州市富陽區(qū)城區(qū)八下數(shù)學(xué)期末達(dá)標(biāo)檢測(cè)模擬試題含解析
- 法學(xué)概論考試必考內(nèi)容試題及答案
- 安徽省阜陽市阜南縣2025屆數(shù)學(xué)八下期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 2025年軟考重要策略與試題及答案
- 文化傳媒主管總結(jié)與項(xiàng)目開發(fā)展望計(jì)劃
- 高考作文追求夢(mèng)想的試題與答案
- 優(yōu)化學(xué)習(xí)方式2025年軟件設(shè)計(jì)師試題及答案
- 健身器材采購項(xiàng)目投標(biāo)方案
- Linux操作系統(tǒng)期末復(fù)習(xí)題(含答案)
- 高考化學(xué)一輪復(fù)習(xí)知識(shí)清單:鈉及其重要化合物
- 醫(yī)院行風(fēng)建設(shè)教育
- 為家庭開銷做預(yù)算(課件)四年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)長春版
- 2024年河北省中考數(shù)學(xué)試題(含答案解析)
- DL∕T 1919-2018 發(fā)電企業(yè)應(yīng)急能力建設(shè)評(píng)估規(guī)范
- 貴州2024年貴州醫(yī)科大學(xué)招聘專職輔導(dǎo)員筆試歷年典型考題及考點(diǎn)附答案解析
- 遼寧省沈陽市鐵西區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題
- 2024年紫金山科技產(chǎn)業(yè)發(fā)展集團(tuán)招聘筆試沖刺題(帶答案解析)
- 2022版科學(xué)課程標(biāo)準(zhǔn)解讀-面向核心素養(yǎng)的科學(xué)教育(課件)
評(píng)論
0/150
提交評(píng)論