(流程图)页面置换算法课程设计.docx

上传人:scccc 文档编号:13439012 上传时间:2021-12-25 格式:DOCX 页数:16 大小:223.89KB
返回 下载 相关 举报
(流程图)页面置换算法课程设计.docx_第1页
第1页 / 共16页
(流程图)页面置换算法课程设计.docx_第2页
第2页 / 共16页
(流程图)页面置换算法课程设计.docx_第3页
第3页 / 共16页
(流程图)页面置换算法课程设计.docx_第4页
第4页 / 共16页
(流程图)页面置换算法课程设计.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《(流程图)页面置换算法课程设计.docx》由会员分享,可在线阅读,更多相关《(流程图)页面置换算法课程设计.docx(16页珍藏版)》请在三一文库上搜索。

1、操作系统课程设计报告题目:页面置换算法模拟程序学院名称:专业班级:学生姓名:指导教师:成绩:目录一、 设计目的 3二、设计题目 3设计内容 3设计要求 3三、设计过程 4FIFO (先进先出) 4LRU (最近最久未使用) 5OPT (最佳置换算法) 6随机数发生器 7四、完整代码 716五、运行结果演示 13六、设计心得七、参考文献16一、设计目的操作系统是计算机教学中最重要的环节之一,也是计算机专业学生的一门重要的专业课程。 操作系统质量的好坏, 直接影响整个计算机系统的性能和用户对计算机的使用。 一个精心设计的操作系统能极大地扩充计算机系统的功能, 充分发挥系统中各种设备的使用效率, 提

2、高系统工作的可靠性。 由于操作系统涉及计算机系统中各种软硬件资源的管理, 内容比较繁琐, 具有很强的实践性。 要学好这门课程,必须把理论与实践紧密结合,才能取得较好的学习效果。本课程设计是学生学习完 计算机操作系统 课程后, 进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。熟悉页面置换算法及其实现,引入计算机系统性能评价方法的概念。二、设计题目 : 页面置换算法模拟程序设计内容编制页面置换算法的模拟程序。设计要求1) .用随机数方法产生页面走向,页面走向长度为L(15<=L<=20),此控

3、制台输入。2) .根据页面走向,分别采用Optinal、FIFO LRU算法进行页面置换,统计缺页率。3) .假定可用内存块为m(3<=m<=5), m 由控制台输入,初始时,作业页面都不在内存。4) .要求写出一份详细的设计报告。课程设计报告内容包括: 设计目的、 设计内容、设计原理、算法实现、流程图、源程序、运行示例及结果分析、心得体会、参考 资料等。三.设计过程FIFO (先进先出)设计原理:需要进行页面置换,即把内存中装入最早的那个页面淘汰, 换入当前 的页面。算法流程图:输出当前内存块状态开始当前p口中第i个元素Page是否有空输出当前内存块状态初始化为 0LRU (最近

4、最久未使用)设计原理:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页先淘汰。该算法的主要出发点是,如果某页被访问了,则它可能马上还要被访问。或者反过来说,如果某页很长时间未被访问、则它在最近一段时间也不会被访问算法流程图:页面走向存入数组 p口中,内把page口中最近最久未使i+把pi的内容直接装入最上面一个i+OPT (最佳置换算法)设计原理:需要进行页面置换,把内存中以后一段时间都不使用或是使用时间离现在最远的页面换出。流程图随机数发生器#include <>#include <> um=rand( )%10+1;ime=0;cout<&

5、lt;pi.num<<"")cout<<endl;return m;)void print(Pro *page1)um<<""cout<<endl;)int Search(int e,Pro *page1 )um)return i;ime,i=0;while(i<M)ime) e=pagei.time;i+;)for( i=0;i<M;i+)if(e=pagei.time)return i;um=pj.num )break;um=0;pagei.time=m-1-i;)i=0;cout<&

6、lt;"1:FIFO页面置换"<<endl;cout<<"2:LRU页面置换"<<endl;cout<<"3:OPT页面置换"<<endl;cout<<"按其它键结束程序;"<<endl;cin»c;if(c=1)um,page)>=0)um«" "umcoutvv"不缺页"«endl;i+;um=pi.num;um«"print(pag

7、e);um,page);if(t>=0)ime=0;ime+;um«"coutvv"不缺页"«endl;)elseum=pi.num;ime=O;um«"print(page);for(a=0;a<M;a+)if(a!=t)pagea.time+;um,page)>=O)um«"coutvv"不缺页"«endl;i+;)elseum=O)a+;um=O&&q>t)q=t;um=pi.num;n+;cout«pi.num

8、1;"print(page);i+;)else(int temp=0,s;for(t=0;t<M;t+)um=pi.num;n+;cout<<pi.num<<""print(page);i+;)cout<<”缺页次数:"<<n<<" 缺页率:"<<n/m<<endl;)while(c=1|c=2|c=3);return 0;五.运行结果演示R 面走向W 度 L<15=L<=20>: 16:3 6J 2732242181614内存

9、页面数n<35):E:39号孙器Debu八39号孙磊."广-IE:39号 孙品Dcbug39号 孙.cxc"雷爵/聋际页面走向七度L<15=L<=20):16 输出履机数:1643976956652678蒂播入可用内存K面数m3S” 2内承而须在之间,请重新输入小4"FIFO页可置换 h:uiuT®g> b:opi页面置换 脍其它健看麻程序;E:39号 #Dcbu39 孙.cxc'LRU算法反面置搜情况如:XXX XX*X AX* XX X*X*X*X K XMX" XM*M*X*X XX XX XX XXX M

10、6 页 页7部7狱饕2狱9不9不不不9不6956652678 上 2 6 8缺页次数二111:F1FOJJ2: LRU J面置兼3: OPT页面皆摸缺页率:8.6875六.设计心得通过这次课程设计,不仅让我了解了三种页面置换算法,即 FIFO (先进先出)、LRU (最近最久未使用)、OPT (最佳置换)算法。 开始我对源代码一味的进行调试, 但发现总是有点错误,于是调试了 若干次还是没有编译成功。又重新分析了几次设计要求,发现自己事先没有完全弄清楚 这三种算法的做法,接着便是暂时停下程序的编译,将学习资料仔细 地将这三种不同的算法研究了一下,待到基本弄懂它们具体怎么实现 的时候,我才再一次去

11、研究当初总是有问题的代码,结合课本知识与详细的流程图分析,经过不断的调试,多次尝试后,编译成功了,运 行后发现此功能正是本次课程设计所需要的。本次课程设计不仅让我对操作系统这门课程有了更深入的研究、对很多重要的概念有了巩固和掌握。通过努力,三个页面置换算法程序都已经完成。虽然自己所做的很少也不够完善,但毕竟也是努力的结果。主要有以下几点收获:1 .通过对上网和看书查阅相关资料, 使自己对 VC +语言的基本框架有新的了解,加深了对可视化程序的认识。2 .在使用VC+皓言来实现功能时,不像以往用的其他语言,它比 较简练,更容易理解,实用性很强。3 .先进先出页面置换和LRU以及OPT算法各有特点,但是实践起 来却很大,使自己对页面置换算法有了新的认识。一周半的课程设计就要结束了,不但对专业知识有了更深的理解,更使的自己认识到实践的重要性,理论、实践相结合才能达到很好的学习效果,特别是程序语言的学习。七参考文献徐甲同等编著罗宇等编著张丽芬 , 刘利雄 , 王全玉编著梁红兵、哲风屏、汤子瀛编著计算机操作系统教程操作系统操作系统实验教程计算机操作系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1