蒋心健_19214129——页面替换算法的可视化仿真实现

蒋心健_19214129——页面替换算法的可视化仿真实现

ID:10870954

大小:705.94 KB

页数:22页

时间:2018-07-08

蒋心健_19214129——页面替换算法的可视化仿真实现_第1页
蒋心健_19214129——页面替换算法的可视化仿真实现_第2页
蒋心健_19214129——页面替换算法的可视化仿真实现_第3页
蒋心健_19214129——页面替换算法的可视化仿真实现_第4页
蒋心健_19214129——页面替换算法的可视化仿真实现_第5页
资源描述:

《蒋心健_19214129——页面替换算法的可视化仿真实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、南京农业大学信息科技学院计算机科学与技术系《计算机操作系统》课外实验报告虚页替换算法的可视化仿真班级:计科141完成时间:2016.12.1课程助教:王亚姓名学号:蒋心健19214129联系电话:15861681212申请成绩A申请成绩(A:优秀;B:良好;C:一般:D:及格)一、实验目的掌握多种请求式页面替换算法理论,通过设计图形化仿真界面将页面替换过程可视化展现二、设计思路与实现内容设计思路:使用的算法均来源于课本,不过稍有改变,由于仅有序列无具体执行时间,因此,LRU的没隔时间t将值变更是按照调度次数来执行的。LRU1使用的是计数法,每

2、个页面均有一个计数值,刚进入内存是为1,每当页面被引用,计数值加1,经过调度2倍于驻留集个数的页面后,将所有在驻留集中的页面的计数值清零,如果某一个页面被调入内存或者命中,那么这个页面会被移动到队列的开头,在查找最小计数值时,如果有若干个相同的计数值,选取在队列中靠后者,因为这表明该页面上次使用距今相对要久一些。LRU2使用的是老化算法,每个页面均设有一个6为的寄存器,刚调入内存时,最高位置1,其余位为0,每执行驻留集个数次调度后,将所有内存中页的寄存器右移一位,如果命中,则先将其寄存器右移一位,再将最高位置1,被调入内存或命中,页面被移到队

3、列开头。SCR算法中每一个页面有一个标志位,页面刚进入内存时为1,如果驻留集满了后,从队列尾部开始向前遍历,凡标志位为1则置为0,将遇到的第一个标志位为0的页面替换出,新的页面置于队列开头。CLOCK算法也是每个页面有一个标志位,不过采用的是循环队列,页面刚进入时标志位为1,每有一个页面进入,指针向后移一格,如果驻留集满,则指针不断向后移动,遇到标志位为1的则清零,将遇到的第一个标志位为0的页面替换出去去。实现内容:上述四种算法均实现,使用java设计了图形化界面,并将过程和结果绘制为图像在屏幕上输出。22南京农业大学信息科技学院计算机科学与

4、技术系《计算机操作系统》课外实验报告三、公共数据结构及关键操作函数的设计与实现(重点)公共数据结构:1.页面classpage{page1next;intpagenum;publicpage(){count=0;pagenum=-1;next=null;}}本次实验中根据需要我写了四个page,但都和这个差别不大,分别标记为1,2,3,4。事实上完全可以将这四个page合并为一个。2.链表classlinklist{page1first;intzljn;intblankpage;publiclinklist(intzlj){first=new

5、page1();zljn=zlj;22南京农业大学信息科技学院计算机科学与技术系《计算机操作系统》课外实验报告blankpage=zlj;for(inti=0;i

6、值++page1search_before_one_page(intpn);//查找某个页的前驱页page1search_lowest_count();//找到并返回当前计数值最小的页面,如果是相等大小,那么选择链表中比较靠后的那个,因为说明它距离上一次使用比较久远,即最近使用次数最少的3.算法类publicclass{linklistl;//调度用到的链表结构intrequire_num,hit_num,zlj;//调度序列长度,命中次数,驻留集个数int[]require_query;//调度序列StringBuffersb;int[][

7、]rec;//运行过程中驻留集的情况publicLRU_1(int[]re,intnum,intzljn,int[][]t){l=newlinklist(zljn);require_num=num;require_query=re;22南京农业大学信息科技学院计算机科学与技术系《计算机操作系统》课外实验报告zlj=zljn;hit_num=0;sb=newStringBuffer();rec=t;}Stringdiaodu();//进行调度并返回一个字符串用以显示doublegethit_rate();//返回命中率}两种LRU方法,SCR,

8、CLOCK算法类基本都是这个结构,只不过在数据结构上有些细微差别。事实上,我完全可以精简代码,提高重用度,但考虑到自己java编程水平还不是很高,希望能更多的锻炼一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。