- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
页面置换算法的演示
一.题目要求:
设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:
要求设计主界面以灵活选择某算法,且以下算法都要实现
1) 最佳置换算法(OPT):将以后永不使用的或许是在最长(未来)时间内不再被访问的页面换出。
2) 先进先出算法(FIFO):淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。
3) 最久未使用算法(LRU:淘汰最近最久未被使用的页面) 最不经常使用算法(LFU)
二.实验目的:
1、用C语言编写OPT、FIFO、LRU,LFU四种置换算法。
2、熟悉内存分页管理策略。
3、了解页面置换的算法。
4、掌握一般常用的调度算法。
5、根据方案使算法得以模拟实现。
6、锻炼知识的运用能力和实践能力。
选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换:
OPT基本思想:
是用一维数组page[]存储页面emery[mSIZE]是存储装入物理块中的页面。每当发生缺页时,就从中,调出该页,换入所缺的页面。FIFO基本思想是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的,所以每当发生缺页时,就从队头删除一页,而从队尾加入缺页。
LRU基本思想是用一维数组page[]存储页面,emery[mSIZE]是存储装入物理块中的页面。每当使用页面时,。发生缺页时,就从中页面标记最小的一页,调出该页,换入所缺的页面。
六.源代码:
如下页所示【使用C语言】
#include stdio.h
#include stdlib.h
/*全局变量*/
int mSIZE; /*物理块数*/
int pSIZE; /*页面号引用串个数*/
static int memery[10]={0}; /*物理块中的页号*/
static int page[100]={0}; /*页面号引用串*/
static int temp[100][10]={0}; /*辅助数组*/
/*置换算法函数*/
void FIFO();
void LRU();
void OPT();
/*辅助函数*/
void print(unsigned int t);
void designBy();
void download();
void mDelay(unsigned int Delay);
/*主函数*/
void main()
{
int i,k,code;
system(color 0A);
designBy();
printf(┃请按任意键进行初始化操作... ┃\n);
printf(┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n);
printf( );
getch();
system(cls);
system(color 0B);
printf(请输入物理块的个数(M=10):);
scanf(%d,mSIZE);
printf(请输入页面号引用串的个数(P=100):);
scanf(%d,pSIZE);
puts(请依次输入页面号引用串(连续输入,无需隔开):);
for(i=0;ipSIZE;i++)
scanf(%1d,page[i]);
download();
system(cls);
system(color 0E);
do{
puts(输入的页面号引用串为:);
for(k=0;k=(pSIZE-1)/20;k++)
{
for(i=20*k;(ipSIZE)(i20*(k+1));i++)
{
if(((i+1)%20==0)||(((i+1)%20)(i==pSIZE-1)))
printf(%d\n,page[i]);
else
printf(%d ,page[i]);
}
}
printf(* * * * * * * * * * * * * * * * * * * * * * *\n);
printf(* 请选择页面置换算法:\t\t\t *\n);
printf(* *\n);
printf(* 1.先进先出(FIFO) 2.最近最久未使用(LRU) *\n);
printf(* 3.最佳(OPT) 4.退出 *\n);
printf(* * * * * * * * * * * * * * * * * * * * * * *\n);
printf(请选择操作:[ ]\b\b);
scanf(%d,cod
您可能关注的文档
最近下载
- 食堂食材配送采购 投标方案(技术方案).doc
- 《基于单片机的火灾报警系统设计》6800字.doc
- 《GB 31604.49-2023食品安全国家标准 食品接触材料及制品 多元素的测定和多元素迁移量的测定》.pdf
- 《船舶救生与消防》课件.ppt VIP
- 合肥市住宅小区物业服务等级标准.pdf
- 求职信写作教学课件.ppt
- GBT51313-2018电动汽车分散充电设施工程技术标准.doc
- 《第一单元复习》苏教版小学数学四年级下册(第八册)课件 (5).ppt
- 环境采样员培训.pptx VIP
- ABS 【2023】RULES FOR BUILDING AND CLASSING Mobile Offshore Units 移动式海上设备建造和入级规则。第5部分防火和安全。措施和特点.pdf
文档评论(0)