操作系统七次实验报告常用页面置换算法模拟实验.._第1页
操作系统七次实验报告常用页面置换算法模拟实验.._第2页
操作系统七次实验报告常用页面置换算法模拟实验.._第3页
操作系统七次实验报告常用页面置换算法模拟实验.._第4页
操作系统七次实验报告常用页面置换算法模拟实验.._第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统课程第七次实验报告姓名学号系计算机任课教师贺辉指导教师贺辉评阅教师贺辉实验地点综合楼B102实验时间2012-9-26出勤和个人表现Q1(15+15得分实验课表(组长评分)=30分)得刀:实验 总分现实验完成情况Q2(45分(组心、丿(Q1+Q2+长与教师评分的加权平得分:(QI+Q2+均)Q3+Q4)实验编号与实验名称:实验七、常用页面置换算法模拟实验实验目的:通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。实验内容及要求(详见实验讲义与实验指导书):要求:1)要求用

2、你熟悉的程序设计语言 编写和调试一个页面置换模拟程序;要求在主函数中测 试。2)实验报告中必须包括: 设计思想、数据定义(包括详细说明)、处理流程(详细算法描 述和算法流程图)、源代码、运行结果、体会等部分。3)必须模拟本实验内容中提到的算法 中的至少2种页面置换算法。4)比较不同页面置换算法的效率内容:编写一个程序,使用以下页面置换算法中的某2种分别模拟一个分页系统,并统计同一个页面访问序列情况下不同页面置换算法引发的缺页中断次数。1、第二次机会算法(Seco nd Cha nee)2、最近最少使用算法(Least Recently Used, LRU )3、最不常用算法(Not Frequ

3、ently Used, NFU)4、 最近未使用算法(Not Recently Used ,NRU)5、时钟页面置换算法6、老化算法(aging)页框的数量固定为 4,虚拟页面数为8。实验输入为访问页面序列,比如0, 1 ,3,2,7,1实验用到的软件(:)DevC+,Visio实验内容及关键步骤(代码)Q3 (15分)得分:流程图:FIFO算法流程图LRU算法流程图:6.页面调壁樫獗尊逮養程圉示刨2)LFUFIKi函数关系解释图:计出区号庄宴荐堆拽中査找该兎号吧新缺在槿礪.冋 啊间下移甜真肃页号新5(块压人停1I计饶出T申卑011122回J图1Mai n()用FIFO算法实现LRU退岀EXI

4、T()FIFO()置换结果实现结果:主函数,入口printf (,fi I printf (,F FPRINT(h显示内存页框每次用LRU算法实 现-dit e*ngii View Project Escwtc-Jpcl*Window Hclpdesig nB 匚作者信息显示I C:U5fln-AdminiistratarDe3kt 口 p1!序诈累 St変君七.exlj園5$ (flaj a =器丿争钟IM实验匕页面貰挣算法学曰 lU0LHltl042 姓名 黄浩全 CDe-v-C* 4.9.5.a4t217218213220图2!: 7 P 曾为幘选择操作:k 22側入的页面号引用吕123

5、S请色择面直昨空萨忒一屋歸歸;M;:購譚代码:/*物理块数*/#i nclude #i nclude #define MEMORY SIZE 4JfiewmisDug 丄 ckHs: L” 当 jOftnOmw 口曲”uzinti p c int f (* 卜1nrfi jjdr Jgrqjjft Eyeing 些bag I&bIi; ;gy Windaw f ili=- C:IJ rnAdm罕谍宝證社孕匸o回ES呵A.的贝西号引丽为tV4 S74-诒鼻备長醫全星直虽*1 Jh i-S3#jtifc霞尉近曲便弔lbo k謁诙E: :i: 1#define PROESS_SIZE 8/* 页面号

6、引用串个数 */#include #i nclude /*全局变量*/int mSIZE=4;in t pSIZE=8;static int memery4=0; /* 物理块中的页号 */ static int page8=0; /* 页面号引用串 */ static int temp84=0; /* 辅助数组 */*置换算法函数*/void FIFO();void LRU();void OPT();void desig nBy();/*辅助函数*/void print(un sig ned int t);/*主函数*/int main()int i,k,code;desig nBy();s

7、ystem(color 0A);puts(请依次输入页面号(8个):);for(i=0;ivpSIZE;i+)sca nf(%1d,&pagei);system(cls);system(color 0E);doputs(输入的页面号引用串为:);for(k=0;k=(pSIZE-1)/20;k+)for(i=20*k;(ipSIZE )&(i); getch();system(cls);while (code!=3);getch();void print(un sig ned int t)int i,j,k,l;int flag;for(k=0;k=(pSIZE-1)/20;k+)for(i=

8、20*k;(ipSIZE )&(i20*(k+1);i+)if(i+1)%20=0)|(i+1)%20)&(i=pSIZE-1) prin tf(%dn,pagei);elseprin tf(%d,pagei);for(j=0;jmSIZE;j+)for(i=20*k;(imSIZE+20*k)&(i=j)prin tf( |%d|,tempij);elseprin tf( | |); for(i=mSIZE+20*k;(ipSIZE)&(i20*(k+1);i+)for(flag=0,l=0;lmSIZE;l+) if(tempil=tempi-1l)flag+;if(flag=mSIZE)

9、/*页面在物理块中*/ printf( );elseprin tf( |%d|,tempij);/*每行显示20个*/if(i%20=0)con ti nue;prin tf(n);printf(n);prin tf(缺页次数:%dtt,t+mSIZE); prin tf(缺页率:%d/%dn,t+mSIZE,pSIZE); prin tf(置换次数:%dtt,t);prin tf(访问命中率:%d%n,(pSIZE-(t+mSIZE)*100/pSIZE); printf(n);/*先进先出页面置换算法*/void FIFO()int memery10=0;int time10=0; /*记

10、录进入物理块的时间*/int i,j,k,m;int max=0; /*记录换出页*/int count=0; /*记录置换次数*/*前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;jvmSIZE;j+)if(memeryj!=pagei)k+;if(k=mSIZE) /*如果不在物理块中*/coun t+;/*计算换出页*/max=time0time1?0:1;f

11、or(m=2;mmSIZE;m+) if(timemtimemax) max=m; memerymax=pagei;timemax=i; /*记录该页进入物理块的时间*/for(j=0;jmSIZE;j+)tempij=memeryj;elsefor(j=0;jmSIZE;j+) tempij=memeryj;prin t(co un t);/*最近最久未使用置换算法*/void LRU()int memery10=0;int flag10=0; /*记录页面的访问时间*/int i,j,k,m;int max=0; /*记录换出页*/int count=0; /*记录置换次数*/*前mSIZ

12、E个数直接放入*/for(i=0;imSIZE;i+)memeryi=pagei;flagi=i;for(j=0;jmSIZE;j+)tempij=memeryj;for(i=mSIZE;ipSIZE;i+)/*判断新页面号是否在物理块中*/for(j=0,k=0;jvmSIZE;j+)if(memeryj!=pagei) k+;elseflagj=i; /*刷新该页的访问时间*/if(k=mSIZE) /*如果不在物理块中*/coun t+;/*计算换出页*/max=flag0vflag1?0:1;for(m=2;mmSIZE;m+) if(flagmvflagmax)max=m;memer

13、ymax=pagei;flagmax=i; /*记录该页的访问时间*/ for(j=0;jmSIZE;j+) tempij=memeryj;else for(j=0;jmSIZE;j+) tempij=memeryj;/compute。;prin t(co un t);void desig nBy()printf( i1n);printf( |实验七:页面置换算法I n);printf( I学号:1001010042I n);printf( I姓名:黄浩全 Dev-C+ 4.9.9.0I n);printf( |1n);实验过程中遇到的问题解决办法与实验体会Q4(需手写,10得分:分)1、在FIFO算法可以很容易用数组实现,而 LRU算法可以用数组实现,不过用结 构体会更明显简单。结构体成员变量可以记录页号进入的时间,和最近使用的记 录。相对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论