页面置换算法实验报告 (2)(一).pptxVIP

  • 14
  • 0
  • 约1.32万字
  • 约 23页
  • 2020-09-17 发布于广东
  • 举报
学 海 无 涯 操作系统课程设计报告 课程名称: 操作系统课程设计 课程设计题目: 页面置换算法 学院: 计算机科学与技术学院 专 业 : 科 技 小组成员: 庞思慧 1 王蒙 姚慧乔 朱潮潮 指导老师: 邱剑锋 目录 1 实验目的3 2 学 海 无 涯 2 实验要求3 3 实验内容与步骤3 4 算法思想4 5 模块设计4 6 程序设计5 7 测试结果7 8 结果分析9 9 程序代码9 10 课程设计小结24 页面置换算法模拟设计 1.实验目的 3 学 海 无 涯 通过模拟实现几种基本页面置换的算法,了解虚拟存储技术的特点。 掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想,并至少用三种 算法来模拟实现。 通过对几种置换算法命中率的比较,来对比他们的优缺点。 实验要求 计算并输出下述各种算法在不同内存容量下的命中率。 A 先进先出的算法(FIFO) B 最近最少使用算法(LRU) C 最佳淘汰算法(OPT) 实验内容与步骤 通过随机数产生一个指令序列,共 320 条指令,具体的实施方法是: [0,319]的指令地址之间随机选取一起点 M; 顺序执行一条指令,即执行地址为 M+1 的指令; 在前地址[0,M+1]中随机选取一条指令并执行,该指令的地址为 M’; 顺序执行一条指令,其地址为 M’+1; 在后地址[M’+2,319]中随机选取一条指令并执行; 重复 A—E,直到执行 320 次指令。 (2)指令序列变换成页地址流 页面大小为 1K; 用户内存容量为 4 页到 32 页; 用户虚存容量为 32K。 在用户虚存中,按每 K 存放 10 条指令排列虚存地址,即 320 条指令在虚存中的 存放方式为: 第 0 条—第 9 条指令为第 0 页(对应虚存地址为[0,9]); 第 10 条—第 19 条指令为第 1 页(对应虚存地址为[10,19]); 。。。。。。。。。。。。。。。。。。。。。 第 310 条—第 319 条指令为第 31 页(对应虚存地址为[310,319]); (3)计算并输出上述各种算法在不同内存容量下的命中率。 命中率=1-缺页次数/页地址流长度 44 入口 产生随机数、要调入的页面、离现在处理时间最长的页面、 初始化页面情况 t1N Y 总模块图 学 海 无 涯 4.算法思想 在进程运行过程中,若其所要访问的页面不在内存而需把它们调入内存,但内存已无空 闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据,送磁盘的 对换区中。但应将哪 个页面调出,须根据一定的算法来确定。通常,把选择换出页面的算 法称为页面置换算法。一个好的页面置换算法,应具有较低的页面更换频率。从理论上讲, 应将那些以后不再会访问的页面换出,或将那些在较长时间内不会再访问的页面调出。 1.先进先出算法 FIFO: 这是最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留 时间最久的页面予以淘汰。该算法实现简单只需把一个进程已调入内存的页面,按先后次序 链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。 最近最久未使用算法 LRU(least recently used): 算法的基本思想:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过 的页先淘汰。该算法的主要出发点是,如果某页被访问了,则它可能马上还被访问。或者反 过来说,如果某页很长时间未被访问,则它在最近一段时间不会被访问。 最佳淘汰算法 OPT 其所选择的被淘汰的页面将是以后永不使用,或许是未来最长时间内不使用的页面,该算法 可保证获得最低的淘汰率,但在实际运用中无法实现,可用来评价其他算法的命中率。 5.模块设计 开始 输入内存数 调用各种置换算法,FIFO,LRU,OPT, 并显示地址流、页面流、页面置换过程和命中率 命中率比较 结束 5 学 海 无 涯 主程序图 6.程序设计 //内存页的结构体 //记录页面号 //页面从未被利用的时间 //定义指令条数 //产生的随机指令数组 //产生随机数 //随机数 struct Pro { int num; int time; }; #define M 320 Pro P[M]; void Input() { int s;

文档评论(0)

1亿VIP精品文档

相关文档