《操作系统存储管理实验报告总结.doc》由会员分享,可在线阅读,更多相关《操作系统存储管理实验报告总结.doc(8页珍藏版)》请在金锄头文库上搜索。
1、操作系统存储管理实验报告总结篇一:东华大学操作系统存储管理实验报告东华大学计算机学院 操作系统实验报告 实验名称:存储管理问题 姓名:姜元杰 学 号:班 级:计算机1102 指导老师:李继云报告日期: 20XX/11/2 一、 实验概述 1. 实验目标存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。2. 实验要求1) 通过随机数产生一个指令序列,共320条指令,指令的地址按下述原则生成:? 50%的指令是顺序执行的;? 25%的指令是均匀分布在前地
2、址部分。? 25%的指令是均匀分布在后地址部分。2) 将指令序列变换成页地址流? 页面大小 = 10条指令? 4页? 用户虚存容量 = 32页;? 在用户虚存中,按每K存放10条指令排列虚存地址3) 计算并输出下述各种算法在不同内存容量下的命中率。? 先进先出的算法(FIFO);? 最近最少使用算法(LRU);? 最佳淘汰算法(OPT);? 命中率=1-页面失效次数/页地址流长度;输出以表结构输出,行头是页码,列头是对应替换算法。在本实验中,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。二、 实验内容1. 设计思路总体思路:设计存储管理类(class
3、StorageManagemen),封装FIFO,LRU,OPT算法实现函数与各自所需公共或个体数据机构和公共代码部分,实现“TOP-DOWN”的程序设计思想,增强代码结构性和可读性。1) 先进先出的算法(FIFO):FIFO是最简单的页置换算法,FIFO的页置换的算法为每个页记录着该页调入内存的时间。当必须置换一页时,将选择最旧的页。注意并不需要记录调入一页的确切时间,可以创建一个FIFO队列来管理内存中的所有页。队列中的首页将被置换。当需要调入页时,将它加入到队列的尾部。FIFO的页置换算法很好理解和实现,但是,其性能并不是很好。所替代的页可能是很久以前使用的、现已不再使用的初始化模块,另
4、一方面,所替代的页可能包含一个以前初始化的并且不断使用的常用变量。2) 最近最少使用算法(LRU):选择最近最长时间未访问过的页面予以淘汰,默认过去一段时间内未访问过的页面,在最近的将来可能也不会被访问。本实验实现算法通过为每个页面设置一个访问字段,用来记录页面自上次被访问以来所经历的时间,淘汰页面时选择现有页面中值最大的予以淘汰。尽管各类参考书声明LRU算法为堆栈类算法,但本实验通过优先队列完全可以实现。3) 最佳淘汰算法(OPT):最佳置换算法所选择的被淘汰页面将是以后永不使用,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。本实验实现算法通过为每个页面设置一个CPU使用
5、“间隔”即表示CPU将在未处理的页面序列中第几步处理到该页面,如果页面不再被CPU处理,赋值为极大值(INT_MAX),淘汰页面时选择现有页面中值最大的予以淘汰。本实验同LRU一样,通过优先队列实现。2. 主要数据结构1) 公共部分:class StorageManagement:? const int MAX_OP_NUM:操作页面最大数,默认320? const int MAX_MEMORY_PAGE:用户内存存储物理块数最大值,默认32 ? int Page_OPMAX_OP_NUM:访问页面序列,随机生成? double Miss:每次访问相应指令时,该指令所对应的页不在内存的次数 ?
6、 double Total:页面置换次数? int TMAX_MEMEORY_PAGE:用户内存存储物理块数? bool isEmpty:内存是否占满2) 先进先出的算法(FIFO):? queue q:内存存储队列,先进先出3) 最近最少使用算法(LRU):? struct Lpage: ? Lpage lPageMAX_MEMORY_PAGE:FIFO LRU进程页面 ? priority_queue q:内存存储优先队列,最近使用次数大者优先级高 ? queue qq:LRU中用于修改最近使用时间函数的临时队列4) 最佳淘汰算法(OPT):? struct Opage: ? Opage
7、oPageMAX_MEMORY_PAGE:OPT进程页面 ?priority_queue q:内存存储优先队列,CPU使用间隔大者优先级高? queue qq:OPT中用于修改使用间隔的临时队列 3. 主要代码结构 1) 公共部分:? int main :Main函数菜单界面? void Initial:用于初始化各算法参数的函数? void Output:控制输出函数2) 最近最少使用算法(LRU):? void alterLateUse:LRU中用于修改内存中页面最近使用时间3) 最佳淘汰算法(OPT):? alterDist:OPT中用于修改内存中页面使用间隔 4. 主要代码段分析1)
8、公共部分:按照实验要求,随机生成320条随机数指令流,同时转换为页地址流 (分析部分见注释)篇二:实验四 操作系统存储管理实验报告实验四 操作系统存储管理实验报告一、实验目的存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。二、实验内容(1) 通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命中率的影响。命中率?1? 页面失效次数页地址流长度页面失效次数为每次访问相应指令时,该指令所对应的页不在内存中的次数。 在本实验中,假定页面大
9、小为1k,用户虚存容量为32k,用户内存容量为4页到32页。 (2) produce_addstream通过随机数产生一个指令序列,共320条指令。A、 指令的地址按下述原则生成:1) 50%的指令是顺序执行的2)25%的指令是均匀分布在前地址部分3) 25%的指令是均匀分布在后地址部分B、 具体的实施方法是:1)2) 在0,319的指令地址之间随机选取一起点m; 顺序执行一条指令,即执行地址为m+1的指令;3) 在前地址0,m+1中随机选取一条指令并执行,该指令的地址为m; 4)5)6) 顺序执行一条指令,地址为m+1的指令 在后地址m+2,319中随机选取一条指令并执行; 重复上述步骤1)
10、5),直到执行320次指令C、 将指令序列变换称为页地址流在用户虚存中,按每k存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:第0条第9条指令为第0页(对应虚存地址为0,9);第10条第19条指令为第1页(对应虚存地址为10,19);。第310条第319条指令为第31页(对应虚存地址为310,319);按以上方式,用户指令可组成32页。(3)计算并输出下属算法在不同内存容量下的命中率。1)先进先出的算法(FIFO);2)最近最少使用算法(LRU);3)最佳淘汰算法(OPT);4)最少访问页面算法(LFR);其中3)和4)为选择内容三、系统框图 五运行结果 首先打印出产生的指令信息,第一列为指令序列号,第二列为指令地址,第三列为 指令所在的虚页号 选择FIFO调度算法,并且内存从3也开始逐渐增加到32页,打印出缺页次数缺页率,命中率 选择LRU调度算法,并且内存从3也开始逐渐增加到32页,打印出缺页次数缺页率,命中率篇三:操作系统存储管理实验报告_大学_学院实验报告