




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统课程设计实验报告书题 目:页面置换算法之先进先出题目编号:18院 系:信息科学与技术学院班 级:12级1班小组成员:组长:张海洋学号:组员:李奔学号:2014-12-31目 录文档编辑结束后,请在下面目录位置点击右键,选择列表中“更新域”“更新整个目录”此处注释在最后提交文档时请点击右键删除批注。Ps:下列文档中格式已经调整,请直接将内容添加在各个标题后。尽量不要调整格式。一、课程设计任务划分1二、基本原理2(一)页面置换算法定义(二)所使用的算法(三)设计思想三、基本思路3(一)流程图(二)变量(三)所用函数四、调试及实验结果4五、个人体会5一、课程设计任务划分 (此处编辑小组成员的
2、具体分工)成员具体分工张海洋设计项目流程程序合并实验报告书书写李奔程序调试网上搜索程序资料心得体会二、基本原理(题目所涉及课程内容,用到了那种算法,该算法的基本原理是什么?500字以上,可加页,下同)(一)页面置换算法定义在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。(二)所使用的算法 1) 最佳置换算法(OPT):将以后永不使用的或许是在最 长(未来)时间内 不再被访问的页面换出。 2) 先进先出算法(FIFO):淘汰最先进入内存的
3、页面,即 选择在内存中驻留时间最久的页面予以淘汰。 3) 最近最久未使用算法(LRU):淘汰最近最久未被使用 的页面。(三)设计思想 选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换:OPT基本思想: 是用一维数组pagepSIZE存储页面号序列,memerymSIZE是存储装入物理块中的页面。数组nextmSIZE记录物理块中对应页面的最后访问时间。每当发生缺页时,就从物理块中找出最后访问时间最大的页面,调出该页,换入所缺的页面。FIFO基本思想:是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的,所以每当发生缺页时,就从队头删除一页,而从队尾加入缺页。或者借助辅
4、助数组timemSIZE记录物理块中对应页面的进入时间,每次需要置换时换出进入时间最小的页面。LRU基本思想:是用一维数组pagepSIZE存储页面号序列,memerymSIZE是存储装入物理块中的页面。数组flag10标记页面的访问时间。每当使用页面时,刷新访问时间。发生缺页时,就从物理块中页面标记最小的一页,调出该页,换入所缺的页面。三、基本思路(源代码中定义了哪些变量,用到了哪些函数,画出流程图) 总的流程图将页号放入物理块中,编号加1引用串编号大于物理块数?载入页号序列,从第0个得到页号开始页号在物理块中?根据选择的置换算法完成置换页号序列载完?结束是否是是是是源代码实验环境:vc+,
5、编程语言:c语言#include #include /*全局变量*/int mSIZE; /*物理块数*/int pSIZE; /*页面号引用串个数*/static int memery10=0; /*物理块中的页号*/static int page100=0; /*页面号引用串*/static int temp10010=0; /*辅助数组*/*置换算法函数*/void FIFO();void LRU();void OPT();/*辅助函数*/void print(unsigned int t);void designBy();void download();void mDelay(unsi
6、gned int Delay);/*主函数*/void main() int i,k,code;system(color 0A);designBy();printf(请按任意键进行初始化操作. n);printf(n);printf( );getch();system(cls);system(color 0B);printf(请输入物理块的个数(M=10):);scanf(%d,&mSIZE);printf(请输入页面号引用串的个数(P=100):);scanf(%d,&pSIZE);puts(请依次输入页面号引用串(连续输入,无需隔开):);for(i=0;ipSIZE;i+) scanf(
7、%1d,&pagei);download();system(cls);system(color 0E); do puts(输入的页面号引用串为:);for(k=0;k=(pSIZE-1)/20;k+)for(i=20*k;(ipSIZE)&(i);getch();system(cls); while (code!=4);getch();/*载入数据*/void download()int i;system(color 0D);printf(n);printf(正在载入数据,请稍候 !n);printf(n);printf(Loading.n);printf( O);for(i=0;i51;i+
8、)printf(b);for(i=0;i);printf(nFinish.n载入成功,按任意键进入置换算法选择界面:);getch();/*设置延迟*/void mDelay(unsigned int Delay) unsigned int i; for(;Delay0;Delay-) for(i=0;i124;i+) printf( b); /*显示设计者信息*/ void designBy()printf(n);printf( 页面置换算法 n);printf( 12级1班 n);printf( 姓名:张海洋,李奔 n);printf(n);void print(unsigned int
9、t)int i,j,k,l;int flag;for(k=0;k=(pSIZE-1)/20;k+)for(i=20*k;(ipSIZE)&(i20*(k+1);i+)if(i+1)%20=0)|(i+1)%20)&(i=pSIZE-1)printf(%dn,pagei);elseprintf(%d ,pagei);for(j=0;jmSIZE;j+)for(i=20*k;(imSIZE+20*k)&(i=j)printf( |%d|,tempij);elseprintf( | |);for(i=mSIZE+20*k;(ipSIZE)&(i20*(k+1);i+)for(flag=0,l=0;l
10、mSIZE;l+)if(tempil=tempi-1l)flag+;if(flag=mSIZE)/*页面在物理块中*/printf( );elseprintf( |%d|,tempij);/*每行显示20个*/if(i%20=0)continue;printf(n);printf(-n);printf(缺页次数:%dtt,t+mSIZE);printf(缺页率:%d/%dn,t+mSIZE,pSIZE);printf(置换次数:%dtt,t);printf(访问命中率:%d%n,(pSIZE-(t+mSIZE)*100/pSIZE);printf(-n);/*计算过程延迟*/void comp
11、ute()int i;printf(正在进行相关计算,请稍候);for(i=1;i20;i+)mDelay(15);if(i%4=0)printf(bbbbbb bbbbbb);elseprintf();for(i=0;i+30;printf(b);for(i=0;i+30;printf( );for(i=0;i+30;printf(b);/*先进先出页面置换算法*/void FIFO() int memery10=0; int time10=0; /*记录进入物理块的时间*/ int i,j,k,m; int max=0; /*记录换出页*/ int count=0; /*记录置换次数*/*
12、前mSIZE个数直接放入*/ for(i=0;imSIZE;i+) memeryi=pagei; timei=i; for(j=0;jmSIZE;j+)tempij=memeryj; for(i=mSIZE;ipSIZE;i+) /*判断新页面号是否在物理块中*/ for(j=0,k=0;jmSIZE;j+) if(memeryj!=pagei) k+; if(k=mSIZE) /*如果不在物理块中*/ count+;/*计算换出页*/ max=time0time1?0:1;for(m=2;mmSIZE;m+)if(timemtimemax)max=m; memerymax=pagei; ti
13、memax=i; /*记录该页进入物理块的时间*/ for(j=0;jmSIZE;j+)tempij=memeryj; else for(j=0;jmSIZE;j+)tempij=memeryj; compute();print(count);/*最近最久未使用置换算法*/void LRU() int memery10=0; int flag10=0; /*记录页面的访问时间*/ int i,j,k,m; int max=0; /*记录换出页*/ int count=0; /*记录置换次数*/*前mSIZE个数直接放入*/ for(i=0;imSIZE;i+) memeryi=pagei; f
14、lagi=i; for(j=0;jmSIZE;j+)tempij=memeryj; for(i=mSIZE;ipSIZE;i+) /*判断新页面号是否在物理块中*/ for(j=0,k=0;jmSIZE;j+) if(memeryj!=pagei) k+; else flagj=i; /*刷新该页的访问时间*/ if(k=mSIZE) /*如果不在物理块中*/ count+;/*计算换出页*/ max=flag0flag1?0:1;for(m=2;mmSIZE;m+)if(flagmflagmax)max=m; memerymax=pagei; flagmax=i; /*记录该页的访问时间*/
15、 for(j=0;jmSIZE;j+)tempij=memeryj; else for(j=0;jmSIZE;j+)tempij=memeryj; compute();print(count);/*最佳置换算法*/void OPT() int memery10=0; int next10=0; /*记录下一次访问时间*/ int i,j,k,l,m; int max; /*记录换出页*/ int count=0; /*记录置换次数*/*前mSIZE个数直接放入*/ for(i=0;imSIZE;i+) memeryi=pagei; for(j=0;jmSIZE;j+)tempij=memery
16、j; for(i=mSIZE;ipSIZE;i+) /*判断新页面号是否在物理块中*/ for(j=0,k=0;jmSIZE;j+) if(memeryj!=pagei) k+; if(k=mSIZE) /*如果不在物理块中*/ count+;/*得到物理快中各页下一次访问时间*/for(m=0;mmSIZE;m+)for(l=i+1;l=next1?0:1;for(m=2;mnextmax)max=m;/*下一次访问时间都为pSIZE,则置换物理块中第一个*/memerymax=pagei;for(j=0;jmSIZE;j+)tempij=memeryj; else for(j=0;jmSI
17、ZE;j+)tempij=memeryj; compute();print(count);四、调试及实验结果(此处放源代码编辑执行后截图,可多张图片)第一组数据:1.运行结果2. 按任意键进行初始化: 3. 载入数据:4. 进入置换算法选择界面:5.运算中延迟操作:6. 三种算法演示结果 7.退出算法第二组数据:1.运行结果2按任意键进行初始化:3.载入数据:4.进入置换算法选择界面:5.运算中延迟操作: 6. 三种算法演示结果 7.退出算法五、个人体会 给出设计文档和调试编码的感受,或对原理知识的理解。(100字以上) 由于时间有限,本次设计完成的并不是很完美,下面从以下几点来说明本次课程设计的个人体会: 1.本次课程设计中做的比较好的地方:做的好的地方就是在于对题目意思的正确理解,以及在此基础上的模型设计。最开始一看题目的时候感觉很迷茫,有点不知道如何着手,等静下心来仔细分析了程序,明确了目标,明确了思路,才对程序有了一个较为完整的实现。2.做得不太好的地方,以及以后如何改正: 做得不太好的地方就是不能把自己所学的C知识和本次课程设计的相关知识很好的结合起来,以至于没有很好的表达出本次课程设计的细节。在以后的过程中,我会运用本次课程设计中所学的知识,以及思考问题的方式和方法,争取能够发扬优点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 猪肉智能化养殖控制系统创新创业项目商业计划书
- 基于结构方程模型的河南省CUBAL竞技实力影响因素研究
- UGC时代基于内容分析法的人物纪录片前期调研研究-以毕业作品《少年的梦想》为例
- 临时设施方案管理办法
- 保监会招投标管理办法
- 信息管理办法百度文库
- 会员数据安全管理办法
- 乡村振兴规划管理办法
- 企业夜餐补助管理办法
- 丽水市保修金管理办法
- RB/T 034-2020测量设备校准周期的确定和调整方法指南
- GB/T 9258.1-2000涂附磨具用磨料粒度分析第1部分:粒度组成
- GB/T 3304-1991中国各民族名称的罗马字母拼写法和代码
- GB/T 28733-2012固体生物质燃料全水分测定方法
- GB/T 1226-2017一般压力表
- GA 1517-2018金银珠宝营业场所安全防范要求
- 部编版二年级下册语文期末考试试卷质量分析
- 《铁路技术管理规程》(普速铁路部分)-14年新版
- 信息系统实施前现状和需求调研计划提纲共享
- 华北理工大学生物药剂学与药物动力学教案
- 太平人寿保险有限公司个人寿险业务人员管理办法XXXX版
评论
0/150
提交评论