页面置换操作系统实验报告Word格式文档下载.docx

上传人:b****5 文档编号:20653102 上传时间:2023-01-24 格式:DOCX 页数:14 大小:105.80KB
下载 相关 举报
页面置换操作系统实验报告Word格式文档下载.docx_第1页
第1页 / 共14页
页面置换操作系统实验报告Word格式文档下载.docx_第2页
第2页 / 共14页
页面置换操作系统实验报告Word格式文档下载.docx_第3页
第3页 / 共14页
页面置换操作系统实验报告Word格式文档下载.docx_第4页
第4页 / 共14页
页面置换操作系统实验报告Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

页面置换操作系统实验报告Word格式文档下载.docx

《页面置换操作系统实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《页面置换操作系统实验报告Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

页面置换操作系统实验报告Word格式文档下载.docx

最近久未使用置换算法的替换规则,是根据页面调入内存后的使用情况来进

行决策的。

该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问

以来所经历的时间,当需淘汰一个页面的时候选择现有页面中其时间值最大的进

行淘汰。

2.3最佳(OPT)置换算法的思路

其所选择的被淘汰的页面,是以后不使用的,或者是在未来时间内不再被访

问的页面,采用最佳算法,通常可保证获得最低的缺页率。

3、实验流程

3.1系统功能图

图3-1系统功能图

3.2算法流程图

1)先进先出(FIFO)页面置换算法流程图

图3-2先进先出页面置换算法流程图

2)最近久未使用(LRU)置换算法

图3-3最近久未使用置换算法流程图

3)最佳(OPT)置换算法

图3-4最佳置换算法流程图

4、源程序

#include<

iostream.h>

#include<

stdlib.h>

time.h>

stdio.h>

#defineL20//页面长度最大为20

intM;

//内存块

structPro//定义一个结构体

{

intnum,time;

};

Input(intm,Prop[L])//打印页面走向状态

cout<

<

"

请输入页面长度(10~20):

;

do

{

cin>

>

m;

if(m>

20||m<

10)

{cout<

endl;

cout<

页面长度必须在10~20之间"

endl<

请重新输入L:

}

elsebreak;

}while

(1);

inti,j;

j=time(NULL);

//取时钟时间

srand(j);

//以时钟时间j为种子,初始化随机数发生器

输出随机数:

"

for(i=0;

i<

i++)

p[i].num=rand()%10;

//产生0到9之间的随机数放到数组p中

p[i].time=0;

p[i].num<

}

returnm;

}

voidprint(Pro*page1)//打印当前的页面

Pro*page=newPro[M];

page=page1;

for(inti=0;

M;

page[i].num<

}

intSearch(inte,Pro*page1)//寻找内存块中与e相同的块号

i++)if(e==page[i].num)returni;

//返回i值

return-1;

intMax(Pro*page1)//寻找最近最长未使用的页面

inte=page[0].time,i=0;

while(i<

M)//找出离现在时间最长的页面

if(e<

page[i].time)e=page[i].time;

i++;

for(i=0;

i++)if(e==page[i].time)returni;

//找到离现在时间最长的页面返回其块号

intCount(Pro*page1,inti,intt,Prop[L])//记录当前内存块中页面离下次使用间隔长度

{

intcount=0;

for(intj=i;

j<

L;

j++)

if(page[t].num==p[j].num)break;

//当前页面再次被访问时循环结束

elsecount++;

//否则count+1

returncount;

//返回count的值

intmain()

intc;

intm=0,t=0;

floatn=0;

Prop[L];

m=Input(m,p);

//调用input函数,返回m值

请输入分配的物理块m(2~6):

do{

if(M>

6||M<

2)

物理块m必须在2~6之间"

请重新输入m:

for(inti=0;

i++)//初始化页面基本情况

{page[i].num=0;

page[i].time=m-1-i;

}

i=0;

1:

FIFO页面置换2:

LRU页面置换"

3:

OPT页面置换4:

退出"

请选择页面置换算法:

c;

if(c==1)//FIFO页面置换

{

n=0;

cout<

FIFO算法页面置换情况如下:

while(i<

m)

{

if(Search(p[i].num,page)>

=0)//当前页面在内存中

{

cout<

//输出当前页p[i].num

不缺页"

i++;

//i加1

}

else//当前页不在内存中

if(t==M)t=0;

else

{

n++;

//缺页次数加1

page[t].num=p[i].num;

//把当前页面放入内存中

cout<

print(page);

//打印当前页面

t++;

//下一个内存块

//指向下一个页面

}

}

缺页次数:

n<

缺页率:

n/m<

if(c==2)//LRU页面置换

LRU算法页面置换情况如下:

inta;

t=Search(p[i].num,page);

if(t>

=0)//如果已在内存块中

{page[t].time=0;

//把与它相同的内存块的时间置0

for(a=0;

a<

a++)

if(a!

=t)page[a].time++;

//其它的时间加1

else//如果不在内存块中

n++;

t=Max(page);

//返回最近最久未使用的块号赋值给t

page[t].num=p[i].num;

//进行替换

page[t].time=0;

//替换后时间置为0

print(page);

=t)page[a].time++;

//其它的时间加1

i++;

}

if(c==3)//OPT页面置换

OPT算法置换情况如下:

if(Search(p[i].num,page)>

}

else//如果不在内存块中

{

inta=0;

for(t=0;

t<

t++)

if(page[t].num==0)a++;

//记录空的内存块数

=0)//有空内存

{

intq=M;

for(t=0;

if(page[t].num==0&

&

q>

t)q=t;

//把空内存块中块号最小的找出来

page[q].num=p[i].num;

n++;

cout<

print(page);

i++;

}

else

inttemp=0,s;

for(t=0;

t++)//寻找内存块中下次使用离现在最久的页面

if(temp<

Count(page,i,t,p))

{

temp=Count(page,i,t,p);

s=t;

}//把找到的块号赋给s

page[s].num=p[i].num;

n++;

cout<

print(page);

}

if(c==4)break;

}while(c==1||c==2||c==3);

return0;

五、实验结果

5.1程序主界面

运行程序后,将会提示用户输入页面长度,长度在10到20之间。

当用户输入长度(以12为例)后,系统将会显示随机数。

系统提示用户输入分配的物理块,用户输入数据(以3为例)。

程序主界面运行图如图5-1所示。

图5-1程序主界面

5.2先进先出(FIFO)页面置换算法运行结果

选择算法1之后,进入算法1的操作。

系统会显示算法的页面置换情况。

先来先服务算法的运行图如图5-2所示。

图5-2先进先出页面置换算法运行结果图

5.3最近久未使用(LRU)置换算法运行结果

选择算法2之后,进入算法2的操作。

最近久未使用的运行图如图5-3所示。

图5-3最近久未使用置换算法运行结果图

4)最佳(OPT)置换算法运行结果

选择算法3之后,进入算法3的操作。

最近久未使用的运行图如图5-4所示。

图5-4最佳置换算法运行结果图

4、总结

通过本次实验,我对页面置换算法的了解更加的深刻。

页面置换算法主要有以下置换算法:

OPT(最佳置换算法)、FIFO(先进先出置换算法)、LRU(最近最久未使用算法)。

在进程运行过程中,若其访问的页面不在内存而需把它们调入内存,但内存以无空闲空间时,为了保证该进程能正常的运行,系统必须从内存中调出一页程序或数据送磁盘的兑换区中,但应将哪个页面调出,需根据一定的算法来确定。

 

THANKS!

!

致力为企业和个人提供合同协议,策划案计划书,学习课件等等

打造全网一站式需求

欢迎您的下载,资料仅供参考

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1