文档详情

操作系统页面置换课程设计报告.doc

发布:2017-06-03约1.01万字共13页下载文档
文本预览下载声明
成绩 南京工程学院 课程设计说明书(论文) 题 目 页面置换算法的模拟 课 程 名 称 操作系统课程设计 院(系、部、中心) 计算机工程学院 班 级 学 生 姓 名 学 号 设 计 地 点 指 导 教 师 设计起止时间:2016年12月19日至2016年12月25日 一、课题简介 1.课题内容 作业要访问的页面不在主存时,由缺页中断处理程序将所需的页面调入主存,若此时主存中没有空闲物理块,则系统将按照一定的页面置换算法选择一些页面移出,以便装入所缺的页面。页面置换算法也称为页面淘汰算法或页面调度算法,其性能将直接影响系统的执行效率。 FIFO是最早出现的置换算法,该算法总是淘汰最先进入主存的页面。特点是实现简单,但因为与进程实际的运行规律不适应,所以算法效率不高。 LRU算法每次都选择最近最久未使用的页面淘汰,即总是淘汰最后一次访问时间距当前时间间隔最长的页面。该算法的思想依据是根据程序执行时所具有的局部性来考虑的,也就是说,刚被访问过的页面再次被访问的机率较大,而那些较长时间未被使用的页面被访问的机率要小。LRU置换算法是一种通用的有效算法,因而被广泛采用。 掌握虚拟存储管理中页面置换算法的原理,设计恰当的数据结构和算法,模拟实现上述页面置换算法 2.课题目的 通过设计实现仿真程序,进一步理解请求分页虚拟存储管理技术。同时,提高同学的编程能力、综合应用知识的能力和分析解决问题的能力。 二、系统设计方案 功能设计 实现了图形用户界面设计和调用了三种不同的置换算法FIFO、OPT、LRU,通过选择随机页面序列或者输入页面序列按钮来产生页面,以及手动输入物理块数,将用以上三种算法进行分析和把页面置换过程输出到图形界面来显示。 功能模块图如下图所示 数据结构 在本次课程设计中,总体使用了一个类Keshe,Keshe类中包含了三个主要的函数FIFO、LRU、OPT,其中LRU中使用了链表结构。Keshe类中定义了如下变量: private int blockCount=20;//物理块最大个数 private static int pageCount=12;//页面个数 private static int page[]=new int[pageCount];//页面序列 3.系统流程 程序主要代码分析 public class keshe extends JFrame implements ActionListener { private int blockCount=20;//物理块最大个数 private static int pageCount=12;//页面个数 private static int page[]=new int[pageCount];//页面序列 static String memString=; //图形用户界面设计,设置按钮,文本组件等 private JButton demoFIFO;//按钮 private JButton demoLRU; private JButton demoOPT; private JButton suiji,shuru; private JTextArea optArea;//显示置换过程的文本 private JTextArea fifoArea; private JTextArea lruArea; private JButton queding; private JLabel processLabel; private JLabel makeMLabel; private JTextField memeryField; private JTextField t1; private JPanel producePanel; private JPanel inputmemery; private JPanel lruPanel; private JPanel fifoPanel; private JPanel optPanel; private JPanel outPanel; private JScrollPane lruScrollPane; private
显示全部
相似文档