- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品文档
精品文档
PAGE
精品文档
.
实验编号 4
名称 页面置换算法模拟
实验目的
通过请求页式存储管理中页面置换算法模拟设计,以便:
1、了解虚拟存储技术的特点
2、掌握请求页式存储管理中页面置换算法
实验内容与步骤
设计一个虚拟存储区和内存工作区,并使用 FIFO和LRU算法计算访问命中率。
<程序设计>
先用srand()函数和rand()函数定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的算法计算相应的命中率。
<程序1>
#include<windows.h>
//Windows版,随机函数需要,
GetCurrentProcessId()需要
//#include<stdlib.h>
//Linux版,随机函数srand和rand需要
#include<stdio.h>
//printf()需要
#defineTRUE1
#defineFALSE0
#defineINVALID-1
#defineNULL0
#definetotal_instruction320
//共320条指令
#definetotal_vp32
//虚存页共32页
#defineclear_period50
//访问次数清零周期
typedefstruct{//定义页表结构类型(页面映射表 PMT)
intpn,pfn,counter,time;//页号、页框号(块号)、一个周期内访问该页面的次数、访问时
间
}PMT;
PMTpmt[32];
typedefstructpfc_struct{//页面控制结构
'.
.
intpn,pfn;
structpfc_struct*next;
}pfc_type;
pfc_typepfc[32];
pfc_type*freepf_head,*busypf_head,*busypf_tail; //空闲页头指针,忙页头指针,忙页尾指针
intNoPageCount;//缺页次数
inta[total_instruction];//指令流数组
intpage[total_instruction],offset[total_instruction]; //每条指令的页和页内偏移
voidinitialize(int);
voidFIFO(int);//先进先出
voidLRU(int);//最近最久未使用
voidNRU(int);//最近最不经常使用
/****************************************************************************
main()
*****************************************************************************/
voidmain(){
inti,s;
//srand(10*getpid());//用进程号作为初始化随机数队列的种子 //Linux版
srand(10*GetCurrentProcessId());//用进程号作为初始化随机数的种子 //Windows版
s=rand()%320;//在[0,319]的指令地址之间随机选取一起点 m
for(i=0;i<total_instruction;i+=4){ //产生指令队列
if(s<0||s>319){
printf("wheni==%d,error,s==%d\n",i,s);
exit(0);
}
a[i]=s;//任意选一指令访问点 m。(将随机数作为指令地址 m)
a[i+1]=a[i]+1;//顺序执行下一条指令
a[i+2]=rand()%(s+2);//在[0,m+1]的前地址之间随机选取一地址,记为 m'
a[i+3]=a[i+2]+1;//顺序执行一条指令
s=a[i+2]+(int)rand()%(320-a[i+2]); //在[m',319]的指令地址之间随机选取一起点 m
if((a[i+2]>318)||(s>319))printf("a[%d+2,anumberwhichis:%dands=%d\n",i,a[i+2],s);
}
'.
.
for(i=0;i<total_instruction;i++){ //将指令序列变成页地址流
page[i]=a[i]/10;
offset[i]=a[i]%10;
}
for(i=4;i<=32;i++){ //内存块分别为 4块、5块、...32块时的命中率
printf("%2dpageframes",i);
FIFO(i);//计算用FIFO置换时,有 i个内存块时的命中率
LRU(i);//最近最久未使用
NRU(i);//最近最不经常使用
printf("\n");
}
}
您可能关注的文档
- 音乐调查学习报告计划3篇.docx
- 音乐赏析期末总结复习计划题库及参考答案.docx
- 音乐鉴赏复习计划总结计划资料.docx
- 音乐高考训练计划.docx
- 音响工程合同.docx
- 音序查字典习题.docx
- 音标专项总结复习练学习试题.docx
- 音标元音测习题.docx
- 音标元音测试题.docx
- 音标在四线三格书写.docx
- 高考物理四万有引力与航天4-2-2人造卫星的发射与控制市赛课公开课一等奖省名师优质课获奖PPT课件.pptx
- 高考物理复习第五章机械能及其守恒定律第一节功和功率市赛课公开课一等奖省名师优质课获奖PPT课件.pptx
- 高考物理复习实验7测定金属的电阻率(同时练习使用螺旋测微器)市赛课公开课一等奖省名师优质课获奖PPT.pptx
- 高考数学考点第四章数列30等比数列市赛课公开课一等奖省名师优质课获奖PPT课件.pptx
- 高考物理复习第3章牛顿运动定律第3节牛顿运动定律的综合应用资料市赛课公开课一等奖省名师优质课获奖PP.pptx
- 高考物理复习第五章机械能及其守恒定律第1讲功功率市赛课公开课一等奖省名师优质课获奖PPT课件.pptx
- 高考物理复习实验十一练习使用多用电表ppt市赛课公开课一等奖省名师优质课获奖PPT课件.pptx
- 高考物理复习第22讲磁场对运动电荷的作用市赛课公开课一等奖省名师优质课获奖PPT课件.pptx
- 高考物理复习第2章相互作用第3节受力分析共点力的平衡资料市赛课公开课一等奖省名师优质课获奖PPT课件.pptx
- 高考物理复习2.3受力分析共点力的平衡市赛课公开课一等奖省名师优质课获奖PPT课件.pptx
1亿VIP精品文档
相关文档
最近下载
- GBT3836.1-2021 爆炸性环境 第1部分:设备 通用要求.pdf
- 2022年云南省高考数学(文科)真题(含答案).pdf VIP
- 统编版道德与法治三年下册《大家的“朋友”》第一课时“认识我们的朋友”说课稿(附反思)课件PPT.pptx
- 高考广东卷:《化学》科目2022-2020年考试真题与答案解析.pdf
- 二年级下册科学课件 - 太阳的位置与方向 青岛版(共16张PPT).pptx
- 部编人教版七年级语文下册第15课《驿路梨花》精品课件.pptx
- DB11_T 1200-2015 超长大体积混凝土结构跳仓法技术规程.PDF VIP
- 浙江省建设工程咨询招标文件示范文本.doc VIP
- 《看守所执法细则.docx
- 2024乙肝抗病毒治疗指南.pptx VIP
文档评论(0)