计算机科学与技术学院操作系统实验报告实验题目:内存页面置换算法问题假请在以上示例实验程序中补充“增强二次机会”等置换算法的模拟程序
输入不同的内存页面引用串和实存帧数,观察并分析其页面置换效果和性能,并将其与LRU和 FIFO算法进行比较
改进以上示例实验程序,使之能够随机的产生内存页面引用串,以便能动态的观测各种置换算法的性能
实验目的:加深对于存储管理的了解,掌握虚拟存储器的实现原理;观察和了解重要的页面置换算法和置换过程
练习模拟算法的编程技巧,锻炼分析试验数据的能力
硬件环境:Inter(R)Core(TM)i5-3210MCPU@2
50GHz内存:4GB硬盘:500G软件环境:XUbuntu-Linux操作系统Gnome桌面 2
3BASH_VERSION='3
33(1)-releasegccversion4
2gedit2
2OpenOffice2
3实验步骤:1、问题分析:示例实验程序中模拟两种置换算法:LRU算法和 FIFO算法能对两种算法给定任意序列不同的页面引用串和任意帧实内存块数的组合测试,显示页置换的过程
能统计和报告不同置换算法情况下依次淘汰的页号、缺页次数(页错误数)和缺页率
比较两种置换算法在给定条件下的优劣
为了能方便的扩充页面置换算法,更好的描述置换过程,示例实验程序采用了 C++语言用 Replace 类描述了置换算法及其属性
2、算法设计说明如下:1
二次机会算法描述(Clock):将帧表设置为循环表,由RefBit数组记录某一页是否被引用(0表示未被引用,1表示被引用)
当访问一页时,首先从帧表中检查此页是否在实存,若在将其引用位设置为1;若不在,在循环帧表中循序查找,若某页引用位为1,则将其设置为0,然后继续查找;若某页引用位为0,将其替换
若查找一圈,没有替换页(所有引用位均为1),则将全部引用位