欢迎来到天天文库
浏览记录
ID:31437235
大小:162.00 KB
页数:8页
时间:2019-01-10
《模拟页面置换算法fifo、lru地实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案实验报告五实验名称:模拟页面置换算法FIFO、LRU的实现日期:2015-12-9班级:13级计科学号:姓名:一、实验目的了解页面置换的概念,理解页面置换的算法加深对页面置换算法的理解。二、实验内容Java编程语言实现FIFO和LUR页面算法。三、项目要求与分析FIFO算法当需要置换页面时,主要通过置换最早进入内存的页面从而达到先进先出的目的。LRU算法当需要置换页面时,主要通过置换进入内存中最久没有被访问的页面而达到最近最久未使用的目的。程序中可以通过标志位进行记录。四、具体实现1.FIFO算法实现
2、代码以及运行结果:publicclassFIFO{/***内存块的个数*/publicstaticintN;/***内存块数组*/Object[]array=newObject[N];/***要访问的页面数组*/publicstaticint[]visit;privateintsize;/***内存是非空为否*@return*/publicbooleanisEmpty(){if(0==size)returntrue;elsereturnfalse;}/***内存是非空满*@return*/精彩文档实用标准文案pu
3、blicbooleanisFulled(){if(size>=N)returntrue;elsereturnfalse;}/***元素(页框)的个数*@return*/publicintsize(){returnsize;}/***查找元素o在数组中的位置*@paramo*@return*/publicintindexOfElement(Objecto){for(inti=0;i4、icObjecttrans(Objectobj){Objecte=null;intt=0;if(indexOfElement(obj)!=-1){t=indexOfElement(obj);for(inti=t;i5、[i+1];}array[size-1]=obj;}}if(-1==t){returnnull;}else{returnarray[t];}}/***输出内存区中的各数据*/publicvoidshowMemoryBlock(){for(inti=0;i6、ersc=newScanner(System.in);System.out.print("请输入内存块的数量:");N=sc.nextInt();System.out.print("请输入总页面数目:");intn=sc.nextInt();visit=newint[n];System.out.println("请输入各个页的页面号码:");for(inti=0;i7、++){精彩文档实用标准文案fifo.trans(visit[i]);fifo.showMemoryBlock();System.out.println();}运行结果:1.LUR算法实现代码以及运行结果:publicclassLRU{staticintvolum;//栈的容量staticListlist=newLinkedList();//链表用来模拟栈存放页面staticint[]visit;//要访问的页面数组staticintcount=0;//记录缺页次数public8、staticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请输入栈的容量:");volum=sc.nextInt();System.out.print("请输入总页面数目:");精彩文档实用标准文案intn=sc.nextInt();visit=newint[n];Syst
4、icObjecttrans(Objectobj){Objecte=null;intt=0;if(indexOfElement(obj)!=-1){t=indexOfElement(obj);for(inti=t;i5、[i+1];}array[size-1]=obj;}}if(-1==t){returnnull;}else{returnarray[t];}}/***输出内存区中的各数据*/publicvoidshowMemoryBlock(){for(inti=0;i6、ersc=newScanner(System.in);System.out.print("请输入内存块的数量:");N=sc.nextInt();System.out.print("请输入总页面数目:");intn=sc.nextInt();visit=newint[n];System.out.println("请输入各个页的页面号码:");for(inti=0;i7、++){精彩文档实用标准文案fifo.trans(visit[i]);fifo.showMemoryBlock();System.out.println();}运行结果:1.LUR算法实现代码以及运行结果:publicclassLRU{staticintvolum;//栈的容量staticListlist=newLinkedList();//链表用来模拟栈存放页面staticint[]visit;//要访问的页面数组staticintcount=0;//记录缺页次数public8、staticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请输入栈的容量:");volum=sc.nextInt();System.out.print("请输入总页面数目:");精彩文档实用标准文案intn=sc.nextInt();visit=newint[n];Syst
5、[i+1];}array[size-1]=obj;}}if(-1==t){returnnull;}else{returnarray[t];}}/***输出内存区中的各数据*/publicvoidshowMemoryBlock(){for(inti=0;i6、ersc=newScanner(System.in);System.out.print("请输入内存块的数量:");N=sc.nextInt();System.out.print("请输入总页面数目:");intn=sc.nextInt();visit=newint[n];System.out.println("请输入各个页的页面号码:");for(inti=0;i7、++){精彩文档实用标准文案fifo.trans(visit[i]);fifo.showMemoryBlock();System.out.println();}运行结果:1.LUR算法实现代码以及运行结果:publicclassLRU{staticintvolum;//栈的容量staticListlist=newLinkedList();//链表用来模拟栈存放页面staticint[]visit;//要访问的页面数组staticintcount=0;//记录缺页次数public8、staticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请输入栈的容量:");volum=sc.nextInt();System.out.print("请输入总页面数目:");精彩文档实用标准文案intn=sc.nextInt();visit=newint[n];Syst
6、ersc=newScanner(System.in);System.out.print("请输入内存块的数量:");N=sc.nextInt();System.out.print("请输入总页面数目:");intn=sc.nextInt();visit=newint[n];System.out.println("请输入各个页的页面号码:");for(inti=0;i7、++){精彩文档实用标准文案fifo.trans(visit[i]);fifo.showMemoryBlock();System.out.println();}运行结果:1.LUR算法实现代码以及运行结果:publicclassLRU{staticintvolum;//栈的容量staticListlist=newLinkedList();//链表用来模拟栈存放页面staticint[]visit;//要访问的页面数组staticintcount=0;//记录缺页次数public8、staticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请输入栈的容量:");volum=sc.nextInt();System.out.print("请输入总页面数目:");精彩文档实用标准文案intn=sc.nextInt();visit=newint[n];Syst
7、++){精彩文档实用标准文案fifo.trans(visit[i]);fifo.showMemoryBlock();System.out.println();}运行结果:1.LUR算法实现代码以及运行结果:publicclassLRU{staticintvolum;//栈的容量staticListlist=newLinkedList();//链表用来模拟栈存放页面staticint[]visit;//要访问的页面数组staticintcount=0;//记录缺页次数public
8、staticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请输入栈的容量:");volum=sc.nextInt();System.out.print("请输入总页面数目:");精彩文档实用标准文案intn=sc.nextInt();visit=newint[n];Syst
此文档下载收益归作者所有