页面淘汰算法课程设计Word格式.docx

上传人:b****5 文档编号:20980192 上传时间:2023-01-26 格式:DOCX 页数:6 大小:17.55KB
下载 相关 举报
页面淘汰算法课程设计Word格式.docx_第1页
第1页 / 共6页
页面淘汰算法课程设计Word格式.docx_第2页
第2页 / 共6页
页面淘汰算法课程设计Word格式.docx_第3页
第3页 / 共6页
页面淘汰算法课程设计Word格式.docx_第4页
第4页 / 共6页
页面淘汰算法课程设计Word格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

页面淘汰算法课程设计Word格式.docx

《页面淘汰算法课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《页面淘汰算法课程设计Word格式.docx(6页珍藏版)》请在冰豆网上搜索。

页面淘汰算法课程设计Word格式.docx

课题工作时间:

摘 

操作系统(英语;

OperatingSystem,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。

操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。

操作系统是管理计算机系统的全部硬件资源包括软件资源及数据资源;

控制程序运行;

改善人机界面;

为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。

操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:

进程与处理机管理、作业管理、存储管理、设备管理、文件管理。

在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。

当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。

而用来选择淘汰哪一页的规则叫做页面置换算法(Page-ReplacementAlgorithms)。

A.关键词:

操作系统;

OPT页面置换算法;

FIFO先进先出的算法;

LRR最近最少使用算;

LFR最少访问页面算法;

NUR最近最不经常使用算法

Abstract

Operatingsystem(inEnglish;

OperatingSystem,referredtoasOS)isacomputerhardwareandsoftwareresourcesmanagementprocedures,butalsothecoreandfoundationofthecomputersystem.Whoarechargedwithoperatingsystemssuchasmemorymanagementandallocation,supplyanddemanddeterminethepriorityofsystemresources,controlinputandoutputdevices,operationandmanagementofnetworkfilesystemsandotherbasicservices.Theoperatingsystemismanagingallthehardwareresourcesofcomputersystemsincludingsoftwareresourcesanddataresources;

controlprogramisrunning;

toimprovehuman-machineinterface;

providesupportforotherapplications,sothatcomputersystemsplayaroleinmaximizingallresourcestoprovideuserswithconvenienteffective,friendlyserviceinterface.Operatingsystemisahugemanagementcontrolprocedures,includingthefiveaspectsofgeneralmanagementfunctions:

processandprocessormanagement,operationsmanagement,storagemanagement,devicemanagement,documentmanagement.

Intheaddressmappingprocess,iffoundtobeinthepagetoaccessthepagenolongerinmemory,thengenerateapagefault.Whenapagefaultoccurstheoperatingsystemmustselectapageinmemoryoftheiroutofmemoryinordertobetransferredtothepagetomakeroom.Thepageusedtoselectoutwhattherulesarecalledpagereplacementalgorithm(Page-ReplacementAlgorithms).

Keywords:

Operatingsystem;

FirstInputFirstOutput;

LeastRecentlyUsed;

OPT;

LeastFrequentlyUsed;

NUR

第一章 

课题背景…………………………………………………………………………..x

1.1关于页面置换算法……………………………………………………………………...x

第二章 

设计简介及设计方案论述………………………………………………………..x

2.1 

程序运行平台……………………………………..………………………….………..x

2.2 

程序的主要功能………………….………………..………………………….…x

2.3 

XXXX……………………………………………………..………………………….…x

第三章 

详细设计…………………………………………………………..………………..x

3.1 

第四章 

设计结果及分析…………………………………………………..………………..x

4.1 

XXXX…………………………………………….………………………………..….…x

4.2 

XXXX….…………………………………………………..………………………….…x

4.3 

XXXX…….………………………………………………..………………………….…x

总结…….……………………………………………………..………………………….…x

致谢…….……………………………………………………..………………………….…x

参考文献…….………………..………………………………..………………………….…x

附录 

主要程序代码………...………………………………..………………………….…x

课题背景

1.1关于页面置换算法

1.1.1页面置换算法及其分类

而用来选择淘汰哪一页的规则叫做页面置换算法。

常见的置换算法有:

1.最佳置换算法(OPT)(理想置换算法)

2.先进现出置换算法(FIFO):

3.最近最久未使用(LRU)算法

4.Clock置换算法(LRU算法的近似实现)

5.最少使用(LFU)置换算法

6.页面缓冲置换算法

1.1.2关于页面置换算法模拟程序问题的产生

在各种存储器管理方式中,有一个共同的特点,即它们都要求将一个作业全部装入内存方能运行,但是有两种情况:

(1)有的作业很大,不能全部装入内存,致使作业无法运行;

(2)有大量作业要求运行,但内存容量不足以容纳所有这些作业。

而虚拟内存技术正式从逻辑上扩充内存容量,将会解决以上两个问题。

从内存中调出一页程序或数据送磁盘的对换区中,通常,把选择换出的页面的算法称为页面置换算法(Page-ReplacementAlgorithms)。

进而页面置换算法模拟程序能客观的将其工作原理展现在我们面前。

设计简介及设计方案论述

2.1程序运行平台

VC++6.0

具体操作如下:

在VC++6.0的环境下准备用时钟函数调用库函数(#include<

time.h>

)、取时钟时间并存入t调用库函数(t=time(NULL))、用时间t初始化随机数发生器调用库函数(srand(t)返回一个1~10之间的随机数(x=rand()%10+1)。

编写三种算法。

2.2程序的主要功能

2.2.1随机产生页面

用随机数方法产生页面走向,页面走向长度为L。

2.2.2FIFO算法

该算法总是淘汰最先进入内存的页面,既选择在内存中驻留时间最久的页面予以淘汰。

2.2.3LRU算法

在前面几条指令中使用频繁的页面很可能在后面的几条指令中频繁使用。

反过来说,已经很久没有使用的页面很有可能在未来较长的一段时间内不会被用到。

这个思想提示了一个可以实现的算法:

在缺页发生时,淘汰掉最久未使用的页。

2.2.4LFR算法

在缺页中断发生时,置换未使用时间最长的页面。

这个策略称为LRU(LeastRecentlyUsed,最近最少使用)页面置换算法

2.2.5NUR算法

NRU在需要淘汰某一页时,从那些最近一个时期内未被访问的页中任选一页淘汰。

只要在页表中增设一个访问位即可实现。

当某页被访问时,访问位置1。

否则,访问位置0。

系统周期性地对所有引用位清零。

当需淘汰一页时,从那些访问位为零的页中选一页进行淘汰。

如果引用位全0或全1,NRU算法退化为FIFO算法。

2.3总体设计

2.31结构图

输出命

中率

主要的函数

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

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

int 

Search(inte,Pro*page1 

)(寻找内存块中与e相同的块号);

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

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

main()(主函数);

.随机数发生器

#include<

stdlib.h>

//准备用时钟函数调用库函数

t=time(NULL);

//取时钟时间并存入t调用库函数

srand(t);

//用时间t初始化随机数发生器调用库函数

x=rand()%10+1;

//返回一个1~10之间的随机数

详细设计

4.1FIFO(先进先出)

设计原理:

需要进行页面置换,即把内存中装入最早的那个页面淘汰,换入当前的页面。

算法流程图

开始

页面走向存入数组p[]中,内存块用page[]表示初始化为0

当前p[]中第i个元素是否已在内存中

i++

Y

Page[]是否有空

N

把p[i]的内容直接装入最上面一个空内存块,i++

把page[]中最先装入的页面置换出去.i++

输出当前内存块状态

结束

图4-1FIFO算法流程图

代码:

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

{

n=0;

cout<

<

"

****************************************** 

"

endl;

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

当前位置:首页 > 解决方案 > 营销活动策划

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

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