实验--编程实现请求分页存储管理页面Optimal、FIFO、LRU置换算法_第1页
实验--编程实现请求分页存储管理页面Optimal、FIFO、LRU置换算法_第2页
实验--编程实现请求分页存储管理页面Optimal、FIFO、LRU置换算法_第3页
实验--编程实现请求分页存储管理页面Optimal、FIFO、LRU置换算法_第4页
实验--编程实现请求分页存储管理页面Optimal、FIFO、LRU置换算法_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学号: 200841903112湖南大学信科院学 生 实 验 报 告姓名: * 年级专业班级 08计算机一班 日期 2010 年 12月 8 日 成绩 课程名称计算机操作系统实验名称编程实现请求分页存储管理页面Optimal、FIFO、LRU置换算法(4学时) 实验类型验证 设计综合 创新【实验目的、要求】(1)通过编写程序实现请求分页存储管理页面Optimal、FIFO、LRU调度算法,使学生掌握虚拟存储管理中有关缺页处理方法等内容,巩固有关虚拟存储管理的教学内容。(2)了解Windows2000/XP中内存管理机制,掌握页式虚拟存储技术。(3)理解内存分配原理,特别是以页面为单位的虚拟内存分配方法。【实验内容】在Windows XP、Windows 2000等操作系统下,使用的VC、VB、java或C等编程语言,实现请求分页存储管理页面Optimal、FIFO、LRU调度算法。【实验环境】(含主要设计设备、器材、软件等)PCJcreator【实验步骤、过程】(含原理图、流程图、关键代码,或实验过程中的记)以下是部分关键代码 System.out.println(-Using FIFO-); System.out.println(); for(int i=0;iframeSize.length;i+) System.out.println(Frame size: +frameSizei+n); aT.initFrameForFIFO(frameSizei); aT.FIFOReplace(frameSizei); System.out.println(Total errors found: +errorCount); System.out.println(n*n); errorCount=0; System.out.println(); System.out.println(-Using LRU-); System.out.println(); for(int i=0;iframeSize.length;i+) System.out.println(Frame size: +frameSizei+n); aT.initFrameForLRU(frameSizei); aT.LRUReplace(frameSizei); System.out.println(Total errors found: +errorCount); System.out.println(n*n); errorCount=0; public void generateRandomDigit() for(int i=0;iArraySize;i+) digitalArrayi=(int)Math.round(Math.random()*9); public void output() System.out.println(随机序列:); for(int i=0;iArraySize;i+) System.out.print( +digitalArrayi); System.out.println(); public void initFrameForFIFO(int fS) frame.removeAllElements(); for(int i=0;ifS;i+) frame.addElement(new Couple(fS-i); public void initFrameForLRU(int fS) frame.removeAllElements(); for(int i=0;ifS;i+) frame.addElement(new Couple(0); public void LRUReplace(int fS) boolean findThesame=false; int pre=-1;/存放刚刚查找到的位置 int flag=-1; for(int j=0;jdigitalArray.length;j+) boolean match=false; for(int i=0;ifS;i+) if(Couple)frame.elementAt(i).value=digitalArrayj) (Couple)frame.elementAt(i).time=0; match=true;/是否找到匹配 System.out.println(j+: find +(Couple)frame.elementAt(i).value+ +at location +i); System.out.println(); flag=i; break; if(match=true&flag!=pre) for(int i=0;ifS;i+) if(i!=flag) (Couple)frame.elementAt(i).time-; pre=flag; else if(match=false) int temp=0; int index=0; for(int i=0;ifS;i+) if(Couple)frame.elementAt(i).timetemp) temp=(Couple)frame.elementAt(i).time; index=i; for(int i=0;ifS;i+) if(i!=index) (Couple)frame.elementAt(i).time-; else (Couple)frame.elementAt(i).time=0; System.out.print(j+: replace +(Couple)frame.elementAt(i).value+ ); System.out.print(at location +index+ ); (Couple)frame.elementAt(i).value=digitalArrayj; System.out.println(with +(Couple)frame.elementAt(i).value); errorCount+; System.out.println(error count +errorCount); System.out.println(); public void FIFOReplace(int fS) /boolean blank=true;/是否开始的已填充完 int i=0; for(int j=0;jdigitalArray.length;j+) boolean match=false; for(i=0;ifS;i+) if(Couple)frame.elementAt(i).value=digitalArrayj) match=true;/是否找到匹配 System.out.println(j+: find +(Couple)frame.elementAt(i).value+ +at location +i); break; if(match=false) int temp=0; int index=-1; for(i=0;itemp) temp=(Couple)frame.elementAt(i).time; index=i; 【实验结果或总结】用Vector来模拟页表,而扔进去的Couple的个数就是表的大小。Couple 中的Time设置衰老时间(FIFO)或未使用周期(LRU),Value为请求序列中digitalArray的值。序列长为20由随机函数产生的0-9的整型值。frameSize中存放的是页表的大小(也就是对应着扔几个Couple去啦)FIFO:初始化时先清空然后放Couple,将他们的Time属性按放的顺序分别置为frameSize,frame-1,frame-2.1.数值越大放的越早,value通通置-1。接下来的工作就是对value和time的处置。若在vector中的couple的value里找到了value匹配则pass。如果没有找的话就从中time里找最老的,(谁的time最大就最老),找到后把它的value变成相应的请求的页面值,把它的time=1.对于不是最老的呢,就把他们的岁数都加一吧。LRU:初始化时先清空然后放Couple,将他们的Time属

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论