页面置换算法模拟 实验报告 下载本文

内容发布更新时间 : 2024/5/3 4:33:14星期一 下面是文章的全部内容请认真阅读。

中北大学软件学院

实 验 报 告

专 业 软件工程 课程名称 计算机操作系统 学 号 姓 名

辅导教师 张 静 成绩

实验日期 2015.11.20 实验时间 1实验名称 :实验四 页面置换算法模拟 2、实验目的 (1)了解内存分页管理策略 (2)掌握调页策略 (3)掌握一般常用的调度算法 (4)学会各种存储分配算法的实现方法。 (5)了解页面大小和内存实际容量对命中率的影响。 3、实验要求 编程实现页面置换算法,最少实现两种算法,比较算法的优劣,并将调试结果显示在计算机屏幕上,并检测机算和笔算的一致性。 (1)采用页式分配存储方案,通过分别计算不同算法的命中率来比较算法的优劣,同时也考虑页面大小及内存实际容量对命中率的影响; (2)实现OPT 算法 (最优置换算法) 、LRU 算法 (Least Recently) 、 FIFO 算法 (First IN First Out)的模拟; (3)使用某种编程语言模拟页面置换算法。

4、实验算法描述 (1)FIFO(先进先出) 开始 页面走向存入数组p[]中,内存块用page[]表示初始化为0 Y i++ N Page[]是否有空 当前p[]中第i个元素是否已在内存 N Y 结束 图4-1FIFO算法流程图 输出当前内存块状态 把page[]中最先装入的页面置换出去.i++ 把p[i]的内容直接装入最上面一个空内存块,i++

(2) LRU(最近最久未使用) 开始 页面走向存入数组p[]中,内 存块用page[]表示初始化为0 Y 当前p[]中第i个元i++ 素是否已在内存 N Page[]是否有空 Y N 把page[]中最近最久未使把p[i]的内容直接 用的页面置换出去.i++ 装入最上面一个 空内存块,i++ 输出当前内存块状态 结束 图4-2 LRU算法流程图

(3)OPT(最佳置换算法) i++ Y N Y N 图4-3 OPT 流程图 结束 输出当前内存块状态 把page[]中以后一段时间都不使用或是使用时间离现在最远的换出.i++ 把p[i]的内容直接装入最上面一个空内存块,i++ Page[]是否有空 当前p[]中第i个元素是否已在内存 页面走向存入数组p[]中,内存块用page[]表示初始化为0 开始