- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浙江万里学院《操作系统》实验报告
实验名称:页面置换算法的实现和比较
指导教师:詹卫华 2018.11.27 实验时间:
26组号:164 班级:计算机 姓名:林文辉 学号:2016011147
164 班级:计算机 姓名:王旭升 学号:2016011133
一、实验目的
理解各种常见的页面置换算法的原理,并能实现这些算法,并进行比较。 二、实验内容
实现以下页面置换算法:
先进先出(1) 最近最久未使用(2)
时钟页面置换算法(选做)(3) OPT置换算法) 4( ,各算法输出对应的页面置换序要求根据输入的页面引用序列和物理块数k 列,并统计缺页率。
k=4 ,页面引用序列为:测试样例为, k=3和
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1】 【
二、实验过程 1. 功能设计 )重要的数据结构设计1( queue
1)顺序队列 queueSTL标准库容器中的实际代码中使用的是deque,双端队列,只是因为,实际上只需要让双端队列一头只能没有迭代器不便于遍历队列才选的deque
头文 进,另一头只出即可实现顺序队列。代码的话直接通过 #includedeque 创建队列,具体构造细节不表。件的构造函数dequeint
作用的话相当于内存的物理地址空间,页面调入内存在这里就是调入该队
列,页面置换就相当于出队列成员并入队列新成员的过程。
displace;
int deque
dequeint::iterator pos; //迭代器
stack )栈 2 不提供遍历,没有迭代器,在实际使用中选择 与队列的理由类似,stcak进行替代,只需要让双端队列的一端堵死(既不让它进也不让它出)即deque
可实现栈。
)相同,值得一提的是,在实际使用中可能会出现如是情况 声明方式与(1 dequepagedisplace;
dequepage::iterator pos; //迭代器 (结构体类型)的队列 不建立默认int类型的队列,而是建立一个page
直接进行队列 在LRU算法中,在页面进行替换的时候,为了方便,使用erase
中的指定元素删除而不是用出队列,其实破坏了双端队列的规则(在两端进
反而更像普通 行删除插入),实际上…在这一点上可能连双端队列都算不上…
的线性表了…
3)动态数组deque函数,这里用了算法中,在页面进行替换的时候,用了insert 在CLOCK支持随机访问的特性,实际上已经跟双端队列没啥关系了,性质源于它的原
型——动态数组,实际上是若干连续空间。
4) 页面结构体
OPT LRU和
struct PAGEtypedef
{
//页号 int num;
//时间 int time;
}page;
考虑到部分算法的需求,当然实际上不特地定义结构体,在程序中随便设置
一些标志位或者标志数组也是可以考虑的。
CLOCK算法还用到了如下页面结构体 其中, structtypedefPAGE
{
//页号 int num;
//使用位 int visit;
}page;
5) 全局常量
#define PAGE_VIEW 20 //访问总次数
其中,OPT算法还用到了一个常量,表示接下来永远不会被访问的页面
#define Infinite 65535 //无穷大
(2)主要函数或接口设计
代码本身没有采用函数的形式,实际上很多部分是可以写成函数的形式的。包括三段程序本身也可以写成三个函数合成为一段程序,每个算法对应一个子函数。很多 数据结构全局变量实际上三个函数是差不多的,可以使用同一个。
以及一些反复执行的常见操作也可以进行封装。.
例如: out有参函数 利用迭代器遍历队列,然后输出队列,就可以封装成一个然后情况判断封装成一个函switch case 包括四种情况的判断主程序部分可以改为 数返回状态类型,包括每种状态执行的内容也可以封装成几个小函数。 OPT算法开头关于时间计算的函数也可以封装成函数。 LRU算法和
实现起来并不复杂,虽然能简洁不少,不过现在的代码也挺好,每个算法独立开来,:) 某些情况下还是对阅读代码有很大帮助的,所以就没改
标准库函数:此外调用了不少STL] 而言 [对dequ
您可能关注的文档
- 内部竞聘自荐信.doc
- 军体拳16动作名称.doc
- 农村学校教师周转宿舍规划.doc
- 冰淇淋场分析报告.doc
- 冰与火之歌读后感.doc
- 减肥必备:运动+食物热量表精简完整打印版本.doc
- 凯特摆测量重力加速度试验报告.doc
- 出口食品化妆品申报表.doc
- 出游必备物品清单表格版.doc
- 减肥一定不能吃的14种食物.doc
- 福清出入境边防检查站2025年警务辅助人员招聘备考题库及一套完整答案详解.docx
- 2026年高考第一次模拟考试化学一模提分卷01(福建专用)(考试版).docx
- 福清出入境边防检查站2025年警务辅助人员招聘备考题库及1套完整答案详解.docx
- 福清出入境边防检查站2025年警务辅助人员招聘备考题库参考答案详解.docx
- 科力锐科技2026届秋季校园招聘备考题库及1套完整答案详解.docx
- 福鼎市教育局关于2026年首场公开招聘紧缺急需人才有关事项的备考题库及完整答案详解1套.docx
- 福鼎市教育局关于2026年首场公开招聘紧缺急需人才有关事项的备考题库及参考答案详解1套.docx
- 科力锐科技2026届秋季校园招聘备考题库及1套参考答案详解.docx
- 2026年高考第一次模拟考试化学一模提分卷(湖南专用)(解析版) .docx
- 福鼎市教育局关于2026年首场公开招聘紧缺急需人才有关事项的备考题库及参考答案详解.docx
最近下载
- 电大大作业:试述中国共产党一百年奋斗的历史意义是什么.pdf VIP
- 2024年山西万家寨水务控股集团所属企业招聘笔试真题.docx VIP
- 《会计实务专题》形考作业1-4.docx VIP
- 2024年高考作文议论文写作之“记忆”“衡量事情值得做的标准”“拒绝沉溺”作文导写.docx VIP
- 二次根式的加减法.ppt VIP
- 《静女》优秀课件.pptx VIP
- 国家开放大学本科《会计实务专题》在线形考(形考作业三)试题及答案.pdf VIP
- 企业管理信息系统整套精品讲义归纳汇总版.pdf
- 《鹊桥仙》课件+2024-2025学年统编版高一语文必修上册.pptx VIP
- 二次根式及二次根式的乘除法.ppt VIP
原创力文档


文档评论(0)