哈尔滨理工大学
软件与微电子学院
实 验 报 告
(2019-2020第二学期)
课程名称: | 操作系统 |
班 级: | 软件18- 1 班 |
学 号: | 1814010130 |
姓 名: | 张立辉 |
哈尔滨理工大学软件与微电子学院
实验名称: | 实验三 页面置换算法模拟与实现 | 专 业 | 软件工程 | |||
---|---|---|---|---|---|---|
姓 名 | 张立辉 | 学 号 | 1814010130 | 班 级 | 软件18-1 |
一、实验目的:
掌握虚拟存储器的实现方法
掌握各种页面置换算法
比较各种页面置换算法的优缺点
二、实验内容:
使用常量total_instruction记录页面总共使用次数,使用变量diseffect记录总共换入页面的次数(需要换出页面,总是因为没有命中而产生)
1)初始化。设置两个数组page[ap]和pagecontrol[pp]分别表示进程使用的页面和内存分配的页面,并产生一个随机序列main[total_instruction],(这个序列由page[]的下标随机组成),表示待处理的进程页面顺序,diseffect置零。
(2)看main[]中是否有下一个元素。若有,则由main[]中获取该页面下标i,并转到(3);若没有,则转到(6)。
(3)如果该page[i]在内存中便改变页面属性,使它保留最近页面的信息,就转到(2);否则转到(4),同时未命中的diseffect加1。
(4)判断是否有空闲的内存页面,如果有,就返回页面指针,转到(5);否则在内存页面中找出最长时间没有使用到的页面,将其“清干净”,并返回该页面指针。
(5)将需处理的page[i]与(4)中得到的pagecontrol[]建立关系,同时需让对应的page[i]单元保存“最新使用”信息,返回(2)。
(6)如果序列处理完成,就输出1-diseffect/total_instruction*100%,并结束。
三、实验设备及软件环境:
实验设备:Windows10专业版
软件环境:Visual Studio 2019
四、实验过程及结果:
实验过程:
运行结果:
五、总结:
通过本次实验,掌握了虚拟存储器的实现方法,掌握了各种页面置换算法,比较了各种页面置换算法的优缺点,对自己的不足之处也有了充分的认识,会在以后的学习生活中着重练习和改善。
实验成绩: 指导教师: 年 月 日