南京邮电大学实验报告模版Word格式文档下载.docx
- 文档编号:13601040
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:19
- 大小:402.33KB
南京邮电大学实验报告模版Word格式文档下载.docx
《南京邮电大学实验报告模版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《南京邮电大学实验报告模版Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
学生姓名
班级学号
学院(系)
物联网院
专业
网络工程
实验类型
上机实验
实验学时
4
2014.12.19
一、实验目的和要求
目的:
通过请求页式存储管理中页面置换算法模拟设计,
了解虚拟存储技术的技术特点,
掌握请求页式存储管理的页面置换算法
要求:
(1)设计实现下面算法,并输出下述各种算法的命中率。
①先进先出的算法(FIFO);
②最近最少使用算法(LRR);
③最佳淘汰算法(OPT)先淘汰最不常用的页地址。
(2)多次反复运行改进后的程序,观察并记录运行结果,并分析原因。
二、实验环境(实验设备)
Vc++6.0
二、实验原理及内容
实验三
#include<
iostream.h>
#include<
stdlib.h>
conio.h>
stdio.h>
#defineBsize4
typedefstructBLOCK//声明一种新类型——物理块类型
{
intpagenum;
//页号
intaccessed;
//访问字段,其值表示多久未被访问
}BLOCK;
intpc;
//程序计数器,用来记录指令的序号
intn;
//缺页计数器,用来记录缺页的次数
staticinttemp[320];
//用来存储320条随机数
BLOCKblock[Bsize];
//定义一大小为4的物理块数组
//*************************************************************
voidinit();
//程序初始化函数
intfindExist(intcurpage);
//查找物理块中是否有该页面
intfindSpace();
//查找是否有空闲物理块
intfindReplace();
//查找应予置换的页面
voiddisplay();
//显示
voidsuijishu();
//产生320条随机数,显示并存储到temp[320]
voidpagestring();
//显示调用的页面队列
voidOPT();
//OPT算法
voidLRU();
//LRU算法
voidFIFO();
//FIFO算法
voidinit()
for(inti=0;
i<
Bsize;
i++)
{
block[i].pagenum=-1;
block[i].accessed=0;
pc=n=0;
}
}
//-------------------------------------------------------------
intfindExist(intcurpage)
{
i<
i++)
if(block[i].pagenum==curpage)
returni;
//检测到内存中有该页面,返回block中的位置
return-1;
intfindSpace()
if(block[i].pagenum==-1)
//找到空闲的block,返回block中的位置
}
intfindReplace()
intpos=0;
if(block[i].accessed>
block[pos].accessed)
pos=i;
//找到应予置换页面,返回BLOCK中位置
returnpos;
voiddisplay()
if(block[i].pagenum!
=-1)
{printf("
%02d"
block[i].pagenum);
cout<
<
endl;
voidsuijishu()
{intflag=0;
cin>
>
pc;
"
******按照要求产生的320个随机数:
*******"
320;
i++)
{
temp[i]=pc;
if(flag%2==0)pc=++pc%320;
if(flag==1)pc=rand()%(pc-1);
if(flag==3)pc=pc+1+(rand()%(320-(pc+1)));
flag=++flag%4;
printf("
%03d"
temp[i]);
if((i+1)%10==0)cout<
voidpagestring()
temp[i]/10);
voidOPT()
intexist,space,position;
intcurpage;
if(i%100==0)getch();
pc=temp[i];
curpage=pc/10;
exist=findExist(curpage);
if(exist==-1)
space=findSpace();
if(space!
block[space].pagenum=curpage;
display();
n=n+1;
else
for(intk=0;
k<
k++)
for(intj=i;
j<
j++)
if(block[k].pagenum!
=temp[j]/10)
block[k].accessed=1000;
}//将来不会用,设置为一个很大数
block[k].accessed=j;
break;
position=findReplace();
block[position].pagenum=curpage;
n++;
缺页次数:
n<
缺页率:
(n/320.0)*100<
%"
//-------------------------------------------------------------
voidLRU()
space=findSpace();
elseblock[exist].accessed=-1;
//恢复存在的并刚访问过的BLOCK中页面accessed为-1
for(intj=0;
j<
4;
j++)
{block[j].accessed++;
voidFIFO()
block[position].accessed--;
block[j].accessed++;
//*****************************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南京 邮电大学 实验 报告 模版