操作系统-存储器管理.doc

操作系统-存储器管理.doc

ID:55305981

大小:161.00 KB

页数:7页

时间:2020-05-09

操作系统-存储器管理.doc_第1页
操作系统-存储器管理.doc_第2页
操作系统-存储器管理.doc_第3页
操作系统-存储器管理.doc_第4页
操作系统-存储器管理.doc_第5页
资源描述:

《操作系统-存储器管理.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、太原工业学院计算机工程系实验报告课程名称操作系统班级实验日期2013-12-06姓名聂建建学号06实验成绩实验名称存储器管理实验目的以及要求编程模拟实现存储器页面置换的常用算法,调试分析相关存储器管理程序,加深对存储器页面置换常用算法的理解和实现技巧实验环境MicrosoftVisualStudio实验内容1、自定义存储器管理有关的数据结构;2、依据最佳置换算法(OPTIMAL)、先进先出置换算法(FIFO)、最近最久未使用算法(LRU)原理,编写对应函数,模拟系统的存储器页面置换功能;3、为了更好地模拟和评价算法的性能,允

2、许用户自行指定可用页块数并输入需访问的页面号序列;4、统计以上算法实际需要的总页面数、缺页中断次数以及它们的缺页率;5、比较/分析以上算法的置换性能,并作出自己的评价。算法描述及实验步骤最佳置换算法(OPTIMAL)main()先进先出置换算法(FIFO)最近最久未使用算法(LRU)在进程运行过程中,若其所访问的页面不存在内存而需要不他们调入内存,但内存已无空闲时,为了保证该进程能够正常运行,系统必须从内存中调出一页程序或数据送磁盘的对换区中。但应掉出哪个页面需根据一定的算法来确定,算法的好坏,直接影响到系统的性能。一个好的

3、页面置换法,应该有较低的页面更换频率。假设分给一个作业的物理块数为3,页面数为20个。页面号为(20个):1,2,5,6,0,3,6,5,3,6,5,6,0,4,2,7,0,4,3,51、最佳置换算法(OPTIMAL)的思路:最佳置换算法:intpagepro::OPT()其所选择的被淘汰页面,将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面,采用最佳置换算法,通常可以保证获得最低的缺页率。2、先进先出置换算法(FIFO)的思路:先进先出算法:intpagepro::FIFO()该算法总是淘汰最先进入内存的页面

4、,即选择在内存中驻留时间最久的页面予以淘汰。该算法只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。3、最近最久未使用算法(LRU)的思路:最近最久未使用算法:intpagepro::LRU()最近最久未使用的页面置换算法,是根据页面调入内存后的使用情况进行决策的。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此最近最久未使用置换算法是选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访

5、问以来所经历的时间t,当须淘汰一个页面时,选择现有页面中其t值最大的,及最近最久未使用的页面予以淘汰。调试过程及实验结果最近最久未使用算法(LRU):先进先出置换算法(FIFO):最佳置换算法(OPTIMAL):总结这个程序的主要思想主题就是实现换页、怎样输出淘汰的序列、计算缺页数和缺页率。在程序中主要就是将在访问串中将来再也不出现的或现在离当前最远的位置上出现的页淘汰掉。当距离相等的时候就比较使用的次数,淘汰使用次数较少的那页。该过程共有三个函数即实现最佳置换算法(OPTIMAL)、FIFO的函数和实现LRU的函数,当主函

6、数调用任意其中函数时来实现其算法。通过这次试验,能够熟练的掌握一些关于分配内存管理的一些算法。在调试过程中也出现的大多是关于内存分配和数组地址越界的问题,比如关于循环时各个事故的递增,还有就是显示给各个数组的内容等问题。就是因为这些问题,多次造成了淘汰序列出错。在以后的实验中应该多加注意。附录#includeusingnamespacestd;#defineBsize3//进程页块数#definePsize20//访问序列长度structPage{intnum;//页面号inttimer;//计时};cl

7、asspagepro{public:pagepro(intpstr[]);intfindspace();//若内存块中有空,返回该位置intfindhave(intp);//若内存块中已有页,返回内存块中位置intfindreplace();//找到替换页的位置(forLRU)intfindreplace(inti);//找到替换页的位置(forOPT)voidclear();//清理内存块voiddisplay();//打印内存块信息intLRU();//最近最久未使用算法intFIFO();//先进先出算法intOPT(

8、);//最佳置换算法Page*block;//内存块Page*page;//页面号串};pagepro::pagepro(intpstr[]){inti=0;block=newPage[Bsize];for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。