存储器管理实验报告

存储器管理实验报告

ID:14868432

大小:124.00 KB

页数:13页

时间:2018-07-30

存储器管理实验报告_第1页
存储器管理实验报告_第2页
存储器管理实验报告_第3页
存储器管理实验报告_第4页
存储器管理实验报告_第5页
资源描述:

《存储器管理实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统实验报告2012年12月24日学号1008114124姓名L刘凯利时间12月27日专业计算机科学与技术班级计科二班实验题目:存储器管理实验目的:1.通过模拟实现最佳页面置换的算法,熟悉存储器管理方式;2.掌握虚拟存储请求页式存储管理中几种页面置换算法的基本思想,并用三种至少三种算法来模拟实现;3.比较对几种置换算法页面,对比他们的优缺点,并通过比较更换频率来对比它们的效率;实验原理:为了提高内存利用率,提供了内外存进程对换机制,内存空间的分配和回收均以页为单位进行,一个进程只需将其一部分(段

2、或页)调入内存便可运行。当进程在运行中需要访问某部分程序和数据时,发现其所在页面不在内存,就立即提出请求(向CPU发出缺中断)由系统将其所需页面调入内存。如果进程的许多页是存放在外存的一个连续区域中,则一次调入若干个相邻的页,会比一次调入一页的效率更高效一些。但如果调入的一批页面中的大多数都未被访问,则又是低效的。可采用一种以预测为基础的预调页策略,将那些预计在不久之后便会被访问的页面,预先调入内存。如果预测较准确,那么,这种策略显然是很有吸引力的。但目前预调页的成功率仅为50%。且这种策略主要用于

3、进程的首次调入时,由程序员指出应该先调入哪些页。当进程在运行中需要访问某部分程序和数据时,若发现其所在的页面不在内存,便即提出请求,由OS将其所需页面调入内存。由请示调页策略所确定调入的页,是一定会被访问的,再加之请求调页策略比较易于实现,故在目前的虚拟存储器中,大多采用此策略。但这种策略每次仅调入一页,故须花费较大的系统开销,增加了磁盘I/O的启用频率。实验步骤:1.先进先出(FIFO)置换算法通过淘汰最先进入内存的页面,即选淘汰在内存中驻留时间最久的页面。该算法实现简单,只需把一个进程已调入内存

4、的页面,按照先后次序连接成一个队列,并设置一个替换指针,使它总指向最老的页面。2.最近久未使用(LRU)置换算法根据页面调入内存后的使用情况来进行决策的,赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当需淘汰一个页面的时候选择现有页面中其时间值最大的进行淘汰。3.最佳(OPT)置换算法所选择的被淘汰的页面,将是以后不使用的,或者是在未来时间内不再被访问的页面,采用最佳算法,通常可保证获得最低的缺页率。常用函数:voidFIFO():计算使用FIFO算法时的命中率,voidL

5、RU():计算使用LRU算法时的命中率,voidOPT():计算使用OPT算法时的命中率,inttotal_pf:用户进程的内存页面数,intdisaffect:页面失效次数.程序Main.cpp:#include#include#include#include#include#includeusingnamespacestd;#defineINVALID-1constintTOTAL_INST

6、RUCTION(320);constintTOTAL_VP(32);constintCLEAR_PERIOD(50);#include"Page.h"#include"PageControl.h"#include"Memory.h"intmain(){inti;CMemorya;for(i=4;i<=32;i++){a.FIFO(i);a.LRU(i);cout<<"";}return0;}Memory.h:#ifndef_MEMORY_H#define_MEMORY_HclassCMemory

7、{public:CMemory();voidinitialize(constintnTotal_pf);voidFIFO(constintnTotal_pf);voidLRU(constintnTotal_pf);voidOPT(constintnTotal_pf);private:vector_vDiscPages;//硬盘页面总数vector_vMemoryPages;//内存页面总数CPageControl*_pFreepf_head,*_pBusyp

8、f_head,*_pBusypf_tail;vector_vMain,_vPage,_vOffset;int_nDiseffect;//页面失效次数};CMemory::CMemory():_vDiscPages(TOTAL_VP),//硬盘共32个页面_vMemoryPages(TOTAL_VP),//内存共32个页面_vMain(TOTAL_INSTRUCTION),/*共320条指令,在320条指令有很多指令可能具有相同的页地址不同的偏移地址,所以共3

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

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

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