常用页面置换算法模拟实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统课程实验报告 实验地点 实验时间 实验课表现 出勤和个人表现Q1(15+15(组长评分)=30分) 得分: 实验 总分 (Q1+Q2+Q3+Q4) 实验完成情况Q2(45分(组长与教师评分的加权平均)) 得分: 实验编号与实验名称: 第7次实验 常用页面置换算法模拟实验 实验目的: 1.实验目的 通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。 实验内容及要求(详见实验讲义与实验指导书): 2.实验要求: 1)要求用你熟悉的程序设计语言编写和调试一个页面置换模拟程序;要求在主函数中测试。 2)实验报告中必须包括:设计思想、数据定义(包括详细说明)、处理流程(详细算法描述和算法流程图)、源代码、运行结果、体会等部分。 3)必须模拟本实验内容中提到的算法中的至少2种页面置换算法。 4) 比较不同页面置换算法的效率 3.实验内容 编写一个程序,使用以下页面置换算法中的某2种分别模拟一个分页系统,并统计同一个页面访问序列情况下不同页面置换算法引发的缺页中断次数。 1、第二次机会算法(Second Chance) 2、最近最少使用算法(Least Recently Used,LRU ) 3、最不常用算法(Not Frequently Used,NFU) 4、最近未使用算法(Not Recently Used ,NRU) 5、时钟页面置换算法 6、老化算法(aging) 页框的数量固定为4,虚拟页面数为8。实验输入为访问页面序列,比如0,1 ,3 ,2,7,1 实验用到的软件(:) C-Free 5 实验内容及关键步骤(代码)Q3(15分) 得分: 流程图: 代码: #include stdio.h #include stdlib.h #include string.h #define page_frame_number 4 //页框数 #define virtual_page_number 8 //虚拟页面数 int page_id, counter = 0;//输入id和计数器 char algorithm[20];//算法选择 int page_interrupt_number = 0; struct Page_table{ int page_id; //页号 int load_time; //装入时间 int last_visit_time; //最后访问时间 }page_table[page_frame_number]; int cmp(const void *p,const void *q){ int c = (*(struct Page_table*)p).load_time - (*(struct Page_table*)q).load_time; if(c 0) return 1; else return -1; } int cmp1(const void *p,const void *q){ int c = (*(struct Page_table*)p).last_visit_time - (*(struct Page_table*)q).last_visit_time; if(c 0) return 1; else return -1; } void init(){//初始化 int i; for(i = 0; i page_frame_number; i++){ page_table[i].page_id = -1; page_table[i].load_time = -1; page_table[i].last_visit_time = -1; } } void print(int x){//打印信息 int i,j; switch(x){ case 0: for(i = 0; i 80; i++) printf(-); printf(\t\t试验七 常用页面置换算法模拟实验\n); for(i = 0; i 80; i++) printf(-); printf(\n); printf(选择算法:F/L(FIFO算法/LRU算法)\n);break; case 1:printf(请输入访问页面的顺序,以“-1”结束:\n);break; case 2: printf(页表信息:\n页 号 页框号 装入时间 最近访问时间\n); for(j = 0; j page_frame_number; j++){ printf(%4d%

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档