操作系统实验报告存储管理(共5页).doc

上传人:飞****2 文档编号:14469156 上传时间:2022-05-04 格式:DOC 页数:5 大小:156KB
返回 下载 相关 举报
操作系统实验报告存储管理(共5页).doc_第1页
第1页 / 共5页
操作系统实验报告存储管理(共5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《操作系统实验报告存储管理(共5页).doc》由会员分享,可在线阅读,更多相关《操作系统实验报告存储管理(共5页).doc(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上操作系统上机实验报告实验名称:存储管理实验目的:通过请求页式存储管理页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理页面置换算法。实验内容:1设计一个虚拟存储区和内存工作区;例如内存工作区大小为9个内存块,假设系统中最多可运行3个进程,每个进程分配3个内存块;2模拟实现FIFO、LRU、OPT算法,给出页面走向,可计算缺页率;3根据实验结果比较几种算法的差别。实验步骤及分析:(一)FIFO算法实现提示定义一个常量total_instruction来记录页面总共使用的次数;定义一个变量diseffect记录总共换入页面的次数。利用公式diseffect

2、/total_instruction*100%可以得到缺页率。(1)初始化。设置两个数组pageap和pagecontrolpp分别表示进程页面数和内存分配的页面数,并产生一个随机数序列pageordertotal_instruction (这个序列由page的下标随机构成)表示待处理的进程页面顺序,diseffect置0。(2)看pageorder中是否有下一个元素,若有,就由pageorder中获取该页面的下标,并转到(3);如果没有就转到(7)。(3)如果该page已在内存中,就转到(2);否则就到(4),同时未命中的diseffect加1。(4)观察pagecontrol是否占满,如果

3、占满须将使用队列中最先进入的pagecontrol单元“清干净”,同时将对应的page单元置为“不在内存中”。(5)将该page与pagecontrol建立关系。可以改变pagecontrol的标志位,也可以采用指针链接,总之至少要使对应的pagecontrol单元包含两个信息:一是它被使用了,二是哪个page单元使用的。Page单元也包含两个信息:对应的pagecontrol 单元号和本 page单元已在内存中。(6)将用到的pagecontrol置入使用队列,返回(2)。(7)计算缺页率。(二)LRU算法实现提示(1)初始化。主要是进程页面page和分配的内存页面pagecontrol,同

4、时产生随机序列pageorder,diseffect置0。(2)看pageorder是否有下一个元素,若有,就由pageorder中获取该页面的下标,并转到(3);如果没有就转到(6)。(3)如果该page已在内存中便改变页面属性,使它保留“最近使用”的信息,转到(2);否则转到(4),同时diseffect加1。(4)判断是否有空闲的内存页面,若有,就返回页面指针,转到(5);否则,在内存页面中找出最长时间没有使用到的页面,将其“清干净”,并返回该页面指针。(5)在需要处理的page与(4)中得到的pagecontrol之间建立联系,同时让对应的page单元保存“最新使用”的信息,返回(2)

5、。(6)如果序列处理完成,计算缺页率。(三)OPT算法实现提示为了简易实现OPT,可以为每个进程页面设一个“间隔”属性cDistance表示CPU将在第几步处理到该页面,如果页面不再被CPU处理,可以被设为某个很大的值(如32767),这样每次换出的就是vDistance最大的那个页面。(1)初始化。设置两个数组pageap和pagecontrolpp分别表示进程页面数和内存分配的页面数,并产生一个随机数序列pageordertotal_instruction (这个序列由page的下标随机构成)表示待处理的进程页面顺序,diseffect置0。然后扫描整个页面访问序列,对vDistanceT

6、OTAL_VP数组进行赋值,表示该页面将在第几步被处理。(2)看pageorder是否有下一个元素,若有,就由pageorder中获取该页面的下标,如果没有就转到(6)。(3)如果该页面已经在内存中了,就转到(2);否则转到(4)。(4)看是否有空闲的内存页面,如果有就直接返回该页面指针;如果没有,遍历所有未处理的进程页面序列,如果有位于内存中的页面,而以后CPU不再处理的,首先将其换出,返回页面指针;如果没有这样的页面,找出CPU最晚处理到的页面,将其换出,返回该内存页面指针。(5)在内存页面和待处理的进程页面之间建立联系,返回(2)。(6)计算缺页率。代码编写过程:创建.c文件和.h文件即代码编写:由于代码比往次实验多,所以课堂时间不够用,课下把四个文件编写完成,运行结果如下图:实验总结:在实验中很多粗心造成的问题,比如指令输错字母,代码写错字母,没有注意是否需要空格等。通过课堂的理论知识学习和实验课的上机实验,让我更能理解操作系统的知识。专心-专注-专业

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

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com