页面置换算法实验报告.pdf

上传人:l*** 文档编号:73534618 上传时间:2023-02-19 格式:PDF 页数:17 大小:380.94KB
返回 下载 相关 举报
页面置换算法实验报告.pdf_第1页
第1页 / 共17页
页面置换算法实验报告.pdf_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《页面置换算法实验报告.pdf》由会员分享,可在线阅读,更多相关《页面置换算法实验报告.pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、操作系统课程设计报告课课程程名名称称:操操作作系系统统课课程程设设计计课程设计题目课程设计题目:页面置换算法页面置换算法学院:学院:计算机科学与技术学院计算机科学与技术学院专专业业:科科技技小小组组成成员员:庞庞思思慧慧E01114081E01114081王王蒙蒙E01114161E01114161姚姚慧慧乔乔E01114349E01114349朱朱潮潮潮潮E01114408E01114408指导老师:指导老师:邱剑锋邱剑锋目录目录No table of contents entries found.No table of contents entries found.页面置换算法模拟设计页面

2、置换算法模拟设计1.1.实验目的实验目的(1)通过模拟实现几种基本页面置换的算法,了解虚拟存储技术的特点。(2)掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想,并至少用三种算法来模拟实现。(3)通过对几种置换算法命中率的比较,来对比他们的优缺点。2.2.实验要求实验要求计算并输出下述各种算法在不同内存容量下的命中率。A A先进先出的算法(FIFO)B B最近最少使用算法(LRU)C C最佳淘汰算法(OPT)3.3.实验内容与步骤实验内容与步骤(1)通过随机数产生一个指令序列,共 320 条指令,具体的实施方法是:A 0,319的指令地址之间随机选取一起点M;B 顺序执行一条指令,

3、即执行地址为M+1 的指令;C 在前地址0,M+1中随机选取一条指令并执行,该指令的地址为M;D 顺序执行一条指令,其地址为M+1;E 在后地址M+2,319中随机选取一条指令并执行;F重复 AE,直到执行 320 次指令。(2)指令序列变换成页地址流A.页面大小为 1K;B.用户内存容量为 4 页到 32 页;C.用户虚存容量为 32K。在用户虚存中,按每 K 存放 10 条指令排列虚存地址,即 320 条指令在虚存中的存放方式为:第 0 条第 9 条指令为第 0 页(对应虚存地址为0,9);第 10 条第 19 条指令为第 1 页(对应虚存地址为10,19);。第 310 条第 319 条

4、指令为第 31 页(对应虚存地址为310,319);(3)计算并输出上述各种算法在不同内存容量下的命中率。命中率=1-缺页次数/页地址流长度4.4.算法思想算法思想在进程运行过程中,若其所要访问的页面不在内存而需把它们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存中调出一页程序或数据,送磁盘的对换区中。但应将哪个页面调出,须根据一定的算法来确定。通常,把选择换出页面的算法称为页面置换算法。一个好的页面置换算法,应具有较低的页面更换频率。从理论上讲,应将那些以后不再会访问的页面换出,或将那些在较长时间内不会再访问的页面调出。1.先进先出算法 FIFO:这是最早出现的置换

5、算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。2.最近最久未使用算法 LRU(leastrecentlyused):算法的基本思想:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页先淘汰。该算法的主要出发点是,如果某页被访问了,则它可能马上还被访问。或者反过来说,如果某页很长时间未被访问,则它在最近一段时间不会被访问。3.最佳淘汰算法 OPT其所选择的被淘汰的页面将是以后永不使用,或许是未来最长时间内不使用的页面,

6、该算法可保证获得最低的淘汰率,但在实际运用中无法实现,可用来评价其他算法的命中率。5.5.模块设计模块设计开始输入内存数调用各种置换算法,命中率比较结束结束总模块图总模块图入口产生随机数、要调入的页面、离现在处理时间最长的页面、初始化页面情况Yt1NN根据选择的算法进行直接存入内存计算缺页率,并输出数据结束主程序图6.6.程序设计程序设计struct Pro um=s;um=pi.num+1;um=(int)(float)pi.num*(rand()/(RAND_MAX+);um=pi+2.num+1;um)*(rand()/(RAND_MAX+)+pi+2.num;for(i=0;iM;i+

7、)pi.time=0;int Search(int e,Pro*page1,int N)um)return i;return-1;int Max(Pro*page1,int N)ime,i=0;while(iN)if(eLRUCLOCKFIFO。实际上,在内存页面数较少(45 页面)时,3 种算法的命中率差别不大,可是 50%左右。在内存页面为 725 个页面之间时,3 种算法的访内命中率大致在52%至 87%之间变化。在内存页面为2532 个页面时,由于用户进程的所有指令基本上都已装入内存,从而命中率已较大。从而算法之间的差别不大。9.9.程序代码程序代码#include 页面置换算法模拟设

8、计#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE=_FILE_;#endif The framework does this automatically For MFC applications using the document/view model,void CMyDlg:OnPaint()if(IsIconic()return(HCURSOR)m_hIcon;#include#include#include#define M 320CPaintDC dc(this);HCURSOR CMyD

9、lg:OnQueryDragIcon()int N;struct Proum=s;um=pi.num+1;um=(int)(float)pi.num*(rand()/(RAND_MAX+);um=pi+2.num+1;um)*(rand()/(RAND_MAX+)+pi+2.num;for(i=0;iM;i+)pi.time=0;/*p0.num=10;p1.num=22;p2.num=33;p3.num=44;p4.num=50;int Max(Pro*page1,int N)ime,i=0;return-1;p5.num=13;p6.num=32;p7.num=22;um)return i

10、;while(iN)if(epagei.time)e=pagei.time;ime)return i;um);um=pj.num/10)break;str1+=tmp1;k+;if(k%16=0)str1+=nrnrnr;(_T(str1);um/10);str2+=tmp2;k+;if(k%16=0)str2+=nrnrnr;(_T(str2);Pro*page=new ProN;for(int j=0;j=0)elsestr3+=nrnrnr;(_T(str3);(%-4d,pagei.num);str3+=tmp3;um,page,N);if(k=0)elsepagek.time=0;f

11、or(p2=0;p2N;p2+)if(p2!=k)pagep2.time+;if(t1=0)i+;elseif(t1=0)+i1;um=pi1.num/10;um=-1;while(i2=0)pagej.time=0;pagej.time=j;pagek.time=0;for(p2=0;p2N;p2+)if(p2!=k)pagep2.time+;elseif(ttN)elsefor(p2=0;p2N;p2+)if(p2!=t2)pagep2.time+;n2+;t2=Max(page,N);paget2.num=pi2.num/10;paget2.time=0;n2+;paget2.num=p

12、i2.num/10;ime=0;i2+;s2=1-n2/M;um=-1;while(i3=0)i3+;pagej.time=j;elseif(tttN)n3+;paget3.num=pi3.num/10;um=pi3.num/10;n3+;i3+;else break;bt=FIFO,LRU,OPT 命中率分别为:;(%s%s%-4f%s%-4f%s%-4f,bt,kg,s1,kg,s2,kg,s3);MessageBox(st,命中率比较);UpdateData(false);10.10.课程设计小结课程设计小结这次实验相对于以前来说比较不一样的是对于界面的制作,是一个比较新奇的体验。整体来说的话还算是比较简单,需要注意的是在编写程序之前要将课程设计的要求及解决思路。通过此次实验,加深了对操作系统的认识,了解了操作系统中各种资源分配算法的实现,特别是对虚拟存储和页面置换有了一定的了解。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁