1、操作系统原理操作系统原理 课程设计报告课程设计报告 Linux 操作系统课程设计 一一、设设计计题题目目 页面置换算法模拟 二二、设设计计目目的的 通过请求页式存储管理中页面置换算法模拟设计,实现 OPT,LRU,FIFO 三种算法的对比分析了解虚拟存储技术的特点, 掌握请求页式存储管理的页面置换算法。 三三、设设计计要要求求 1.实现 OPT,LRU,FIFO 三种算法并进行对比分析; 2.界面简单易懂,且关键代码有注释说明; 3.编程语言采用 java,运用 eclipse 开发软件。 四四、设设计计思思想想说说明明 五五、系系统统结结构构的的说说明明 (1)界面类 main,调用执行算法
2、的类 pageChange,是程序运 行的入口; (2)执行算法类 pageChange,包含了三种算法的具体执行过 程,用不同功能的按钮实现算法,算法结果通过调用显示结果的 类 display 展示出来; (3)显示算法结果类 display,将算法运行的结果显示在组件 上,包括缺页数、缺页率、置换次数、置换率等。 (4)生成随机的页面号引用串数组类 randomNumber。 六六、数数据据结结构构的的说说明明 m: 物理块数(int) n :置换页面数(int) length:页表长度(int) myt :置换页面数组。程序首选根据用户输入的置换页面 数 n,生成 n 个随机数放到该数组
3、中; mym : 物理块数组。 程序首选根据用户输入的物理块数 m, 初始化一个 m 大小的数组。程序运行时,若物理块数还没用完 就直接往数组存数, 若物理块已用完就根据特定算法把特定页 面置换出来,再把新进来的页面存进数组; myb : 计数器数组。 运用于 LRU 算法中, 数组大小和 mym 相等,对应 mym下标存放每个物理块最近未使用的次数。当 要置换一个新的页面进入 mym中, 根据 myb的数值, 将 mym 最近最久未使用的页面置换出来, 再把新页面的位置存放到被 置换页面的位置; myb: 记录器数组。 运用于 OPT 算法中, 数组大小和 mym 相等,记录 mym中数据在
4、 myt后续页面出现的下标值,若 没有在后续页面出现,就把该下标值设为 myt数组长度。当 要置换一个新的页面进入 mym中, 根据 myb的数值, 将 mym 中在最长(未来)时间内不再被访问的页面置换出来, 再把新页 面的位置存放到被置换页面的位置。 m_absent: 缺页数(int) m_absentf: 缺页率(double)m_absent/n m_changef: 页面置换率 (as - m) / n; m_change :置换次数,页面从数组中置换出来的次数 (int)m_change=as - m as 置换页面数, as和m_absent数值相等, as-m等于m_change; x: 是否需要置换(boolean) true 为需要置换 false 为 不需要置换; m1 :计算物理块剩余的中间变量 (int) m_list: 要显示到窗口上的内容。 迭代 myt数组, 将 mym 中排序信息保存到 m_list,后面的显示。 七