版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)報(bào)告五實(shí)驗(yàn)名稱: 模擬頁面置換算法FIFO、LRU的實(shí)現(xiàn) 日期:2015-12-9 班級:13級計(jì)科 學(xué)號: 姓名: 一、 實(shí)驗(yàn)?zāi)康牧私忭撁嬷脫Q的概念,理解頁面置換的算法加深對頁面置換算法的理解。二、 實(shí)驗(yàn)內(nèi)容Java編程語言實(shí)現(xiàn)FIFO和LUR頁面算法。三、 項(xiàng)目要求與分析FIFO算法當(dāng)需要置換頁面時(shí),主要通過置換最早進(jìn)入內(nèi)存的頁面從而達(dá)到先進(jìn)先出的目的。LRU算法當(dāng)需要置換頁面時(shí),主要通過置換進(jìn)入內(nèi)存中最久沒有被訪問的頁面而達(dá)到最近最久未使用的目的。程序中可以通過標(biāo)志位進(jìn)行記錄。四、 具體實(shí)現(xiàn)1. FIFO算法實(shí)現(xiàn)代碼以及運(yùn)行結(jié)果: public class FIFO /* * 內(nèi)存塊
2、的個(gè)數(shù) */ public static int N ; /* * 內(nèi)存塊數(shù)組 */ Object array = new ObjectN; /* * 要訪問的頁面數(shù)組 */ public static intvisit; private int size; /* * 內(nèi)存是非空為否 * return */ public boolean isEmpty() if(0 = size) return true; else return false; /* * 內(nèi)存是非空滿 * return */ public boolean isFulled() if(size >= N) return t
3、rue; else return false; /* * 元素(頁框)的個(gè)數(shù) * return */ public int size() return size; /* * 查找元素o在數(shù)組中的位置 * param o * return */ public int indexOfElement(Object o) for(int i=0; i<N; i+) if(o = arrayi) return i; return -1; /* * 頁面轉(zhuǎn)換 * param obj */ public Object trans(Object obj) Object e = null; int t =
4、 0; if(indexOfElement(obj) != -1) t = indexOfElement(obj); for(int i=t; i<size-1; i+) arrayi = arrayi+1; arraysize-1 = obj; else if(!isFulled() arraysize = obj; size +; else for(int i=0; i<size-1; i+) arrayi = arrayi+1; arraysize-1 = obj; if( -1 = t) return null; else return arrayt; /* * 輸出內(nèi)存區(qū)
5、中的各數(shù)據(jù) */ public void showMemoryBlock() for(int i=0; i<size; i+) System.out.print(arrayi + " "); /* * 清空隊(duì)列(頁框) */ public void clear() /* * param args */ public static void main(String args) Scanner sc = new Scanner(System.in); System.out.print("請輸入內(nèi)存塊的數(shù)量:"); N=sc.nextInt(); Sys
6、tem.out.print("請輸入總頁面數(shù)目:"); int n=sc.nextInt(); visit=new intn; System.out.println("請輸入各個(gè)頁的頁面號碼:"); for(int i=0;i<n;i+) visiti=sc.nextInt(); FIFO fifo = new FIFO(); for(int i=0; i<visit.length; i+) fifo.trans(visiti); fifo.showMemoryBlock(); System.out.println(); 運(yùn)行結(jié)果:2. LU
7、R算法實(shí)現(xiàn)代碼以及運(yùn)行結(jié)果:public class LRU static int volum;/ 棧的容量 static List<Integer>list=new LinkedList<Integer>(); /鏈表用來模擬棧存放頁面 static intvisit;/要訪問的頁面數(shù)組 static int count=0;/記錄缺頁次數(shù) public static void main(String args) Scanner sc = new Scanner(System.in); System.out.print("請輸入棧的容量:"); v
8、olum=sc.nextInt(); System.out.print("請輸入總頁面數(shù)目:"); int n=sc.nextInt(); visit=new intn; System.out.println("請輸入各個(gè)頁的頁面號碼:"); for(int i=0;i<n;i+) visiti=sc.nextInt(); sLRU();/調(diào)用最近最久未使用算法 System.out.println("置換頁面的數(shù)目為:"+count); public static void sLRU() int index=0; while(
9、index<visit.length) boolean flag=false; if(list.size()<=volum) for(int i=0;i<list.size();i+) if(int)(list.get(i)=visitindex) list.remove(i);/先刪除 list.add(visitindex);/再添加到尾部 flag=true; break; if(!flag) if(list.size()<volum) /如果棧未滿,而且此頁面沒有在棧中,就將它入棧 list.add(visitindex); else /如果棧已經(jīng)滿了,且該頁面
10、號碼沒有在棧中,就把棧底元素刪除,將新頁插入 int temp=list.get(0); list.remove(0);/最開始一個(gè)換出 list.add(visitindex);/加到末尾 count+; System.out.println("開始換頁了,將棧底的"+temp+"換出"); System.out.println("這也是沒有辦法的事情,畢竟棧是有限的"); System.out.print("經(jīng)過第"+(index+1)+"個(gè)頁面的棧內(nèi)容為"); for(int k=0;k<list.size();k+) System.out.print(list.get(k)+" "); System.out.println(); index+; 運(yùn)行結(jié)果:五、 所遇問題與解決方法問題:針對于FIFO算法定義選擇在內(nèi)存中駐留時(shí)間最久的頁面予以淘汰,對于內(nèi)存中的駐留時(shí)間理解復(fù)雜了不知道如何下手。解決方案:我們只需要設(shè)置一個(gè)先進(jìn)先出隊(duì)列就可以。最先進(jìn)入內(nèi)存的頁面最早被轉(zhuǎn)換
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024園林綠化工程土壤改良與植保服務(wù)合同
- 2024熱量表購銷合同范文
- 2024年度城市基礎(chǔ)設(shè)施建設(shè)與運(yùn)營合同
- 2024年二手房定金合同示范文本
- 2024年度物流運(yùn)輸合同運(yùn)輸方式與時(shí)間安排
- 師說課文課件教學(xué)課件
- 2024年冷鮮電商物流配送服務(wù)合同
- 2024年度研發(fā)技術(shù)轉(zhuǎn)讓合同
- 2024年度建筑工程安全生產(chǎn)管理合同
- 2024年度BIM模型數(shù)據(jù)共享與交換合同
- 2024全新物業(yè)服務(wù)培訓(xùn)
- 山東省日照地區(qū)2024-2025學(xué)年八年級上學(xué)期期中考試數(shù)學(xué)試題(含答案)
- 《地產(chǎn)公司圖紙管理辦法》的通知
- 中華民族共同體概論學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 世界慢阻肺日
- 2024年資格考試-CPSM認(rèn)證考試近5年真題附答案
- 混料機(jī)的安全操作規(guī)程有哪些(8篇)
- 期中 (試題) -2024-2025學(xué)年譯林版(三起)英語六年級上冊
- 2024秋期國家開放大學(xué)《財(cái)務(wù)報(bào)表分析》一平臺在線形考(作業(yè)一至五)試題及答案
- 國家基本醫(yī)療保險(xiǎn)、工傷保險(xiǎn)和生育保險(xiǎn)藥品目錄(2023年)
- 城市公益公墓區(qū)建設(shè)方案
評論
0/150
提交評論