计算机操作系统储存管理实验报告_第1页
计算机操作系统储存管理实验报告_第2页
计算机操作系统储存管理实验报告_第3页
计算机操作系统储存管理实验报告_第4页
计算机操作系统储存管理实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

v1.0可编辑可修改v1.0可编辑可修改河南师范大学计算机与信息技术学院软件学院综合性、设计性实验报告专业:java 年级/班级:2012级2013—2014学年第一学期课程名称计算机操作系统指导教师学号-姓名王宇菲实验地点过街楼B区实验时间2014-12-23项目名称储存管理实验类型综合性/设计性实验目的通过请求页式存储管理中页面置换算法模拟程序, 了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。实验仪器或设备实验机房pc电脑总体设计(设计原理、设计方案及流程等)1.通过随机数产生一个指令序列,共 320条指令,指令的地址按下述原则生产:50 %的指令是顺序执行的;25%的指令是均匀分布在前地址部分;25%的指令是均匀分布在后地址部分。2.将指令序列变换成为页地址流设页面大小为1K;用户内存容量为4页到32页;用户虚存容量为32K。在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:第0条至第9条指令为第0页;第10条至19条指令为第1页;…第310条至319条指令为第31页。3.计算并输出下述各种算法在不同内存容量下的命中率。先进先出算法(FIFO)最近最少使用算法(LRU最佳使用算(OPT命中率=1-页面失效次数/页地址流长度本实验中,页地址流长度为320,页面失效次数为每次访问相应指令时, 该指令所对应的页不在内存的次数。关于随机数的产生办法。 首先要初始化设置随机数,产生序列的开始点,例如,通过下列语句实现:srand(400) ;计算随机数,产生320条指令序列m=160;for(i=0;i<80;i++={j=i*4;a[j]=m;a[j+1] =m+1;a[j+2] =a[j]* *rand()/32767 ;a[j+3] =a[j+2]+1m=a[j+3]+(319-a[j+3]) **rand()/32767 ;}将指令序列变换成为页地址流for(k=0;k<320;k++){pt=a[k]/10;pd=a[k]%10 ;}计算不同算法的命中率rate=*U/320;其中U为缺页中断次数,320是页地址流长度。输出格式kfifo1ru4…32四、实验步骤(包括主要步骤、代码分析等).代码如下#include<>#include<>#include<>#include<>#define Myprintfprintf("|—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—|\n")/*表格控制*/#definebsize4 um=-1;b[i].time=psize-i-1;}for(i=0;i<bsize;i++)for(j=0;j<psize;j++)c皿]=-1;}/*取得在内存中停留最久的页面 ,默认状态下为最早调入的页面 */intGetMax(Page*b){inti;intmax=-1;inttag=0;for(i=0;i<bsize;i++){if(b[i].time>max){max=b[i].time;tag=i;}}returntag;}/*判断页面是否已在内存中*/intEquation(intfold,Page*b){inti;for(i=0;i<bsize;i++){if(fold==b[i].num)returni;}return-1;}/*LRU核心部分*/voidLruu(intfold,Page*b){inti;intval;val=Equation(fold,b);if(val>=0){b[val].time=0;for(i=0;i<bsize;i++)if(i!=val)b[i].time++;}else{记录调入页面*/queue[++K]=fold;/*val=GetMax(b);b[val].num=fold;记录调入页面*/b[val].time=0;for(i=0;i<bsize;i++)if(i!=val)b[i].time++;}}voidLRU(){inti,j;K=-1;Init(b,c);for(i=0;i<psize;i++){Lruu(pro[i],b);*/c[0][i]=pro[i];*//* 记录当前的内存单元中的页面for(j=0;j<bsize;j++)c皿i]=b[j].num;}/* 结果输出*/printf("内存状态为:\n");Myprintf;for(j=0;j<psize;j++)printf("|%2d",pro[j]);printf("|\n");Myprintf;for(i=0;i<bsize;i++){for(j=0;j<psize;j++){if(c皿]==-1)printf("|%2c",32);elseprintf("|%2d",c[i][j]);}printf("|\n");}Myprintf;printf("\n调入队列为:");for(i=0;i<K+1;i++)printf("%3d",queue[i]);printf("\n缺页次数为: %6d\n缺页率:%”,K+1,(float)(K+1)/psize);主函数〃**************************************************************〃主函数voidmain(){intsel;do{printf("\t\t\t \t\t\t");printf("\t\t\t☆☆A-A欢迎进入操作系统界面 A-A☆☆\t\t\t");printf("\t\t\t \t\t\t\n");printf("\t\t\t ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ \t\t\t");printf("\t\t\t☆ 虚拟内存 ☆\t\t\t");printf("\t\t\t ☆ ☆?'%");printf("\t\t\t ☆ 1 、产生随机序列 ☆ \t\t\t");printf("\t\t\t ☆ ☆?'%");printf("\t\t\t ☆ 2 、最久未使用(LRU) ☆ \t\t\t");printf("\t\t\t ☆ ☆?'%");printf("\t\t\t ☆ 3 、先进先出(FIFO) ☆ \t\t\t");printf("\t\t\t ☆ ☆?'%");printf("\t\t\t ☆ 4 、最佳置换算法(OPT) ☆ \t\t\t");printf("\t\t\t ☆ ☆?'%");printf("\t\t\t ☆ 5 、三种算法的比较() ☆ \t\t\t");printf("\t\t\t ☆ ☆?'%");printf("\t\t\t ☆ 0 、退出(Exit) ☆ \t\t\t");printf("\t\t\t☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ \t\t\t\n");printf(" 请选择所要执行的操作(0/1/2/3/4/5):");scanf("%d",&sel);switch(sel)case0:printf("\t\t\tA-A再见!Acase0:printf("\t\t\tA-Acase1:build();break;case2:printf("最久未使用算\n");LRU();empty();printf("\n");break;case3:printf("先进先出算\n");FIFO();empty();printf("\n");break;case1:build();break;case2:printf("最久未使用算\n");LRU();empty();printf("\n");break;case3:printf("先进先出算\n");FIFO();empty();printf("\n");break;case5:printf("先进先出算法\n");FIFO();empty();printf(" 最久未使用算法printf(" 最久未使用算法\n");LRU();empty();break;default:printf("请输入正确的选项号! ");printf("\n\n");break;}while(sel!=0);五、结果分析与总结产生的随机序列:随default:printf("请输入正确的选项号! ");printf("\n\n");break;}while(sel!=0);五、结果分析与总结产生的随机序列:随机产生二不进程序列号为:1629654y98298641最近最少使用算法执行结果如下:先进先出FIFO算法执行结果:总结体会请求页式管理的基本原理是将逻辑地址空间分成大小相同的页, 将存储地址空间分块,页和块的大小相等,通过页表进行管理。页式系统的逻辑地址分为页号和页内位移量。页表包括页号和块号数据项,它们一一对应。 根据逻辑空间的页号,查找页表对应项找到对应的块号,块号乘以块长,加上位移量就行成存储空间的物理地址。 每个作业的逻辑地址空间是连续的,重定位到内存空间后就不一定连续了。对不同算法的性能进行评价。FIFO算法较易实现,

温馨提示

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

评论

0/150

提交评论