ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:99.52KB ,
资源ID:21669467      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21669467.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(模拟页式存储管理操作系统课程设计报告2Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

模拟页式存储管理操作系统课程设计报告2Word文档下载推荐.docx

1、 这些在下图中都未一一实现。=2.2 算法原理分析要学成功实现算法, 首先要知道各个方法是怎么做的, 即原理是怎样的, 下 面是三种算法的原理。FIFO 算法是先进先出,当当前内存中没有正要访问的页面时,置换出最先 进来的页面。LRU 算法是最近最久未使用,当当前内存中没有正要访问的页面时,置换 出在当前页面中最近最久没有使用的页面。OPT 算法是未来最远出现,当当前内存中没有正要访问的页面时,置换出 当前页面中在未来的访问页中最远出现的页面或再也不出现的页面。2.3 程序流程图本次课程设计的主要流程是3种置换算法的流程图,本人负责 OPT流程图 如下所示:三、数据定义in tie ngth,

2、 nu m_page,co un t,seed; len gth 记录访问串的长度, nu m_page 页面数,count 记录缺页次数int result2030,order30,a10; /result记录结果,order存储访问串,a存储当前页面中的值int pos1,flag1,flag2,flag3; pos1 位置变量,flag1 等为标志变量char result130; /记录缺页数组四、核心代码三种置换算法中只列出本人负责部分( OPT 算法),具体代码及注释如下:void opt() /理想型int i,pos10,flag10;/i 为 for 循环控制语句, pos

3、为位置变量, flag 标志变量 while(1)flag1=flag2=0; for(i=0;ilength;i+)/ 访问串遍历if(!search(orderi)/ 查询要访问的页是否在内存中count+;result1i=*; if(anum_page-1!=-1) / 表示当前页面已满要淘汰一个 memset(pos,-1,sizeof(pos);/ 初始 pos 数组 memset(flag,0,sizeof(flag);/ 初始 flag 数组 int j,k;for( j=i;jj+)/ 找当前页中的值在将来访问串中对应最近位置 for( k=0;knum_page;k+) i

4、f(orderj=ak&flagk=0)posk=j;flagk=1;coutendl;int max=-10,max_pos;k+)/ 找出位置最远的那个值 if(posk=-1)/ 未出现则跳出,替换该值 max_pos=k; break;else if(maxnumpage;num_page=numpage;memset(a,-1,sizeof(a);else return ;OPT 调度算法的实五、运行截图根据不同的分工,限于纸张只列出部分截图,以下是对验截图:励态分配分区方法瀆示先进先岀算法.2 最久最近未使用頁面置换刖去.匕理想型润汰算袪”乩退出程序-图5.1相同的内存容量下不同的

5、访问串序列 1需页貝改变页面数-不操作退出-图5.2相同的内存容量下不同的访问串序列依上图5.1和5.2来看,OPT调度算法在访问串长度一致,随机值不同以致 产生不同的访问串序列时,但页面数相同的情况下,所得到的命中率也不同数面页变改只歹歹tyt骞出入访退裂作新改操重不不n B12 0SD7 & & 9 17 7 7 7 7451w命中率;5/12-41.图5.3 不同的内存容量下相同的访问串序列在上图5.3中就是对同一访问串序列进行 OPT调度,只是改变其页面的大 小,得到了不同的命中率。六、小结生程序,并说明随机的性能和其性能可能对算法的影响, 对随机性要有一定 的参数控制能力;计算并输出

6、FIFO及LRU算法在不同内存容量下的命中率做了这么多次课程设计了, 大致的过程都熟悉了, 每次的动手实践, 调动了 我们主动学习的积极性 , 并引导我们根据实际编程要求 , 训练自己实际分析问题 的能力及编程能力 , 并养成良好的编程习惯。 通过详细的实例 , 循序渐进地启发 我们完成设计课程设计将要求。从拿到题目到完成整个编程, 从理论到实践可以学到很多很多的东西, 同时 不仅可以巩固了以前所学过的知识, 而且学到了很多在书本上所没有学到过的知 识。通过这次课程设计使我懂得了理论与实际相结合是很重要的, 只有理论知识 是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,

7、才能真正为社会服务, 从而提高自己的实际动手能力和独立思考的能力。 知识的 获得是无止境的,只要你想学,只要你行动,就一定会有所收获的。回首这两个 星期的课程设计,尽管很是头痛,很多都不会,但经过努力,我们还是学了不少 知识的。这期间,老师给了我们许多帮助,非常感谢!附录所有源程序代码如下: #includestdlib.h using namespace std;int length,num_page,count,seed; void init() int i; 输入访问串的长度 : 输入种子数控制产生的随机值:seed;srand(seed); 产生的随机访问串 :/ cinorderi;

8、 orderi=rand()%10; coutorderi cout 输入页面的个数:void print()int i,j;(* 表示缺页 )for( j=0;%2d ,orderj);for( i=0;if(resultij=-1)else,resultij);%2c ,result1j); 缺页率:count else return ;void fifo() / 先进先出int i,thisn=0;while(1)count=0; flag1=flag2=0;for(i=pos1;search(orderi)if(anum_page-1!=-1) / 表示当前页面已满要淘汰一个athis

9、n= orderi;thisn+;if(thisn=num_page)thisn=0;resultji=aj;flag2=0)break;void lru() /最久最近没使用int i,pos10;int j,k;i;j+) /查找当前页中的值对应的最近位置k+)if(orderj=ak)int min=pos0,min_pos=0;for( k=1;k+)/ 找出位置最远的那个if(minmin=posk;min_pos=k;amin_pos=orderi;else /还有空页 memset(flag,0,sizeof(flag); int j,k;j+)/ 找出当前页中的值在将来访问串中对应的最近位置k+)/ 找出位置最远的那个值j+) void mune()int m;n*nn 动态分配分区方法演示 n 1.先进先出算法 .nn.nn 2.最久最近未使用页面置换算法 3.理想型淘汰算法 .nn 0.退出程序 .nn 选择所要操作 :switch(m)case 1: fifo( ); mune();case 2:lru( );mune();case 3:opt( );case 0:default: 选择错误 ,重新选择 .void main() /主函数

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1