请求调页存储管理方法的模拟实验报告课件.ppt

上传人(卖家):三亚风情 文档编号:2971756 上传时间:2022-06-17 格式:PPT 页数:16 大小:310.50KB
下载 相关 举报
请求调页存储管理方法的模拟实验报告课件.ppt_第1页
第1页 / 共16页
请求调页存储管理方法的模拟实验报告课件.ppt_第2页
第2页 / 共16页
请求调页存储管理方法的模拟实验报告课件.ppt_第3页
第3页 / 共16页
请求调页存储管理方法的模拟实验报告课件.ppt_第4页
第4页 / 共16页
请求调页存储管理方法的模拟实验报告课件.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、请求调页存储管理方法的模请求调页存储管理方法的模拟实验报告拟实验报告马文虎 李超邓兰兰 孙琳杭家蓓 唐莹一、实验目的一、实验目的v1通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟储技术的特点。v2通过对页面、页表、地址转换和页面置换过程的模拟,加深对请求调页系统的原理和实现过程的理解。v3掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。二、实验内容二、实验内容v1. 假设每个页面中可存放10条指令,分配给作业的内存块数为4。v2. 用C语言或C+语言模拟一个作业的执行过程,该作业共有320条指令, 即它的地址空间为32页,目前它的所有页都

2、还未调入内存。再模拟过程中,如果所访问的指令已在内存,则显示其物理地址,并转下一条指令。如果所访问的指令还未装入内存,则发生缺页,此时需要记录缺页的次数,并将相应页调入内存。如果4个内存块均已装入该作业,则需要进行页面置换,最后显示其物理地址,并转向下一条指令。在所有320条指令执行完毕后,请计算并显示作业运行过程中发生的缺页率。v3. 置换算法:请分别考虑先进先出(FIFO)算法和最近最久未使用算法(LRU)。二、实验内容二、实验内容v4. 作业中指令的访问次序按下述原则生成:50%的指令是顺序执行的;25%的指令是均匀分布在前地址部分;25%的指令是均匀分布在后地址部分;具体的实施方法是:

3、(1):在0,319的指令地址之间随机选取一起点m;(2):顺序执行下一条指令,即执行地址序号为m+1的指令;(3):通过随机数,跳转到前地址部分0,m-1中的某条指令处,其序号为m1;(4):顺序执行下一条指令,其地址序号为m1+1的指令;(5):通过随机数,跳转到后地址部分m1+2,319中的某条指令处,其序号为m2;(6):顺序执行下一条指令,其地址序号为m2+1的指令;(7):重复跳转到前地址部分,顺序执行,跳转到后地址部分,顺序执行的过程直至执行320条指令。三、 设计思路设计思路v 在进程运行过程中,若其所要访问的页面不在内存需把它们调入内存,但内存已无空闲空间时,为了保证该进程能

4、正常运行,系统必须从内存中调出一页程序或数据,送磁盘的对换区中。但应将哪个页面调出,所以需要根据一定的算法来确定。在这一过程中,选择换出页面的算法称为页面置换算法。一个好的页面置换算法,应具有较低的页面更换频率。页面置换算法的好坏,将直接影响到系统的性能。以下分别是实验要求的两个页面置换算法的介绍及设计思想。 三、 设计思路设计思路v(1)先进先出法(First In First Out): 该算法总是淘汰最先进入内存的页面,既选择在内存中驻留时间最久的页面予以淘汰。 在该算法的模拟过程中,每当页面被置换进入内存时,将置换页面所在的物理块中访问标记设为-1;并且每执行一次指令,便将物理块的访问

5、标记自动加1,需要置换时将访问标记最大的物理块中的页面置换出去,这样能防止当物理块访问标记出现两个以上相同的值的错误执行,更好地模拟了先进先出法; 三、 设计思路设计思路v(2)最近最久未使用(Least Recently Used): 该算法以最近的过去作为不久将来的近似, 将过去最长一段时间里不曾被使用的页面置换掉。 在该算法的模拟过程中,每当物理块中的页面被访问时(包括原先存在的和后来置换进入的页面),便将其物理块访问标记置为1。以后每执行一条指令,便将物理块中各页面的访问标记加1,需置换时访问标记最大的便是将要被置换的。四、程序流程图四、程序流程图整体整体四、程序流程图四、程序流程图-

6、LRU四、程序流程图四、程序流程图-FITO五、源代码五、源代码vtypedef struct BLOCK /声明一种新类型物理块类型v vint pagenum; /页号vint accessed; /访问字段,其值表示多久未被访问vBLOCK;vint pc; /程序计数器,用来记录指令的序号vint n; /缺页计数器,用来记录缺页的次数vstatic int temp320; /用来存储320条随机数vBLOCK blockBsize; /定义一大小为4的物理块数组五、源代码五、源代码vvoid init(); /程序初始化函数vint findExist(int curpage);/

7、查找物理块中是否有该页面vint findSpace();/查找是否有空闲物理块vint findReplace();/查找应予置换的页面vvoid display();/显示vvoid suijishu();/产生320条随机数,显示并存储到temp320vvoid pagestring();/显示调用的页面队列vvoid LRU();/ LRU算法vvoid FIFO();/FIFO算法 六、运行结果及分析v本程序能通过输入第一条指令号(用3位整数代表指令号),产生320个随机数,并以每行10个显示出来。再把这320个随机数转换成对应的页面号,并以每行10个显示出来。然后,通过输入选择键,

8、分别执行两个置换算法。各个置换算法能显示页面置换的情况,如果所访问的指令已在内存,则显示“该指令已经存在”并显示其物理地址;如果所访问的指令还未装入内存,则显示“调入的页面是。”,并显示其调入后的物理地址。所有指令执行完毕后显示缺页次数,和缺页率。基本实现了对请求调页存储器管理方式的模拟。本程序的另一个亮点是使用getch( )使程序的执行过程能够暂停。本程序基本实现了实验要求,自我感觉程序不够精练,可读性不高,还要进一步改进。七、总结v通过本次操作系统实验,使我们对操作系统这门课程有了更进一步的认识和了解,通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟储技术的特点。通过对页面、

9、页表、地址转换和页面置换过程的模拟,加深对请求调页系统的原理和实现过程的理解。v本实验的难点之一在于如何用c语言按要求模拟生成随机指令,即50%的指令是顺序执行的,25%的指令是均匀分布在前地址部分,25%的指令是均匀分布在后地址部分,小组花了大量时间讨论和研究该算法,并参考了相关的资料、运用了随机函数,最终通过一个函数suiji(int pc)予以实现。v第二,如何较好地模拟出先进先出算法(FIFO)、最近最少使用算法(LRU)也花费了较多时间。 七、总结v在本次设计过程中,用到了许多C+的基本知识和操作系统的基本原理,是对平时所学知识的一次考验,尽管这些知识都学过,但运用到实际时,却不知从何下手,而且错误不断,往往为了找一个错误而花了大量的时间,这是专业知识掌握不够,缺乏实践动手能力的表现。在设计的过程中我们发现了许多自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,以后还要多加努力。v总之,通过该实验,我们了解到编写程序不是首要任务,而是一种实现手段。我们最重要的是如何做好需求分析和理清思路,做出正确、简洁的流程设计,这样可以达到事半功倍的效果。 八、参考文献八、参考文献v1 胡 静.随机函数在操作系统实验中的应用J. 太原科技大学计算机学院学报,2004,25(4):271-273

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(请求调页存储管理方法的模拟实验报告课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|