欢迎来到天天文库
浏览记录
ID:57096265
大小:52.50 KB
页数:14页
时间:2020-08-02
《实验五请求页式存储管理的页面置换算法讲课稿.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验五请求页式存储管理的页面置换算法精品文档操作系统实验报告班级:计科0801班姓名:韩伟伟学号:08407106时间:2011-5-25实验五请求页式存储管理的页面置换算法一.实验目的通过请求页式存储管理中页面置换算法模拟程序,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。二.实验属性设计三.实验内容1.通过随机数产生一个指令序列,共320条指令,指令的地址按下述原则生产:50%的指令是顺序执行的;25%的指令是均匀分布在前地址部分;25%的指令是均匀分布在后地址部分。2.将指令序列变换成为页地址流设页面大小为1K;用户内存容量为4页到32页;用户虚存容量为32K。
2、在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:第0条至第9条指令为第0页;第10条至19条指令为第1页;…第310条至319条指令为第31页。3.计算并输出下述各种算法在不同内存容量下的命中率。(1)先进先出算法(FIFO)(2)最近最少使用算法(LRU)(3)最佳使用算(OPT)命中率=1-页面失效次数/页地址流长度收集于网络,如有侵权请联系管理员删除精品文档本实验中,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。四.思路关于随机数的产生办法。首先要初始化设置随机数,产生序列的开始点,例如,通过下列语
3、句实现:srand(400);(1)计算随机数,产生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]﹡1.0﹡rand()/32767;a[j+3]=a[j+2]+1m=a[j+3]+(319-a[j+3])﹡1.0﹡rand()/32767;}(2)将指令序列变换成为页地址流for(k=0;k<320;k++){pt=a[k]/10;pd=a[k]%10;…}(3)计算不同算法的命中率rate=1-1.0﹡U/320;其中U为缺页中断次数,320是页地址流长度。(4)输出格式kfifo1ru40
4、.230.25…321.01.0收集于网络,如有侵权请联系管理员删除精品文档五.实验报告1.写出你编写的C语言程序。#include#include#include#include#defineMyprintfprintf("
5、---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---
6、")/*表格控制*/#definebsize4//物理块大小#definepsize16//进程大小typedefstructpage{intn
7、um;/*记录页面号*/inttime;/*记录调入内存时间*/}Page;/*页面逻辑结构,结构为方便算法实现设计*/Pageb[bsize];/*内存单元数*/intc[bsize][psize];/*暂保存内存当前的状态:缓冲区*/intqueue[100];/*记录调入队列*/intK;/*调入队列计数变量*/intphb[bsize]={0};//物理块标号intpro[psize]={0};//进程序列号intflag[bsize]={0};//进程等待次数(存放最久未被使用的进程标志)inti=0,j=0,k=0;//i表示进程序列号,j表示物理块号intm=-1,n
8、=-1;//物理块空闲和进程是否相同判断标志intmax=-1,maxflag=0;//标记替换物理块进程下标收集于网络,如有侵权请联系管理员删除精品文档intcount=0;//统计页面缺页次数//**************************************************************////**************************************************************//随机产生序列号函数//*****************************************************
9、*********int*build(){printf("随机产生一个进程序列号为:");inti=0;for(i=0;i
此文档下载收益归作者所有