操作系统课程设计请求页式存储管理

上传人:小** 文档编号:98530520 上传时间:2022-05-29 格式:DOC 页数:19 大小:397.50KB
返回 下载 相关 举报
操作系统课程设计请求页式存储管理_第1页
第1页 / 共19页
操作系统课程设计请求页式存储管理_第2页
第2页 / 共19页
操作系统课程设计请求页式存储管理_第3页
第3页 / 共19页
点击查看更多>>
资源描述
1请求页式存储管理学院:学号:姓名:辅导老师#设计四:1设.计目的请求页式管理是一种常用的虚拟存储管理技术。本设计通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。2.设计内容:通过随机数产生一个指令序列,共32条0指令。指令的地址按下述原则生成: 50的%指令是顺序执行的; 25的%指令是均匀分布在前地址部分; 25的%指令是均匀分布在后地址部分。具体的实施方法是: 在0,3的1指9令地址之间随机选取一起点m;顺序执行一条指令; 在前地址中随机选取一条指令并执行,该指令的地址为; 顺序执行一条指令,其地址为1 在后地址中随机选取一条指令并执行; 重复上述步骤,直到执行次指令。将指令序列变换成为页地址流设:页面大小为1 用户内存容量为4页到32页; 用户虚存容量为。在用户虚存中,按每存放条指令排列虚存地址,即条指令在虚存中的存放方式为:第;0条;第;随条;指令为第;0页;(对;应虚存地址为;第;1111条;第;1条随指;令为第;1页;(对;应虚存地址为;111第;31条0;第;31条随指;令为第;31页;(对;应虚存地址为按以上方式,用户指令可组成;3页2。;计算并输出下述各种算法在不同内存容量下的命中率。先进先出的算法I最近最少使用算法;最少访问页面算法;最近最不经常使用算法。3实验环境每个学生一台微机,需要安装或操作系统,配备、B或编程语言,每个学生上机时间不少于个小时。(1)、分页请求系统为了能实现请求调页和置换功能,系统必须提供必要的硬件支持,其中,最重要的是:(1)请求分页的页表机制。它是在分页的页表机制上增加若干个项而形成的,作为请求分页的数据结构;(2)缺页中断机构。每当用户程序要访问的页面尚未调入内存时,便产生一缺页中断以请求OS将所缺的页面调入内存;(3)地址变换机构。它同样是在分页的地址变换机构的基础上发展形成的。为了实现请求调页还须得到OS的支持,在实现请求调页功能时,石油OS将所需的页从外存调入内存;在实现置换功能时,也是由OS将内存的某些页调至外存。4实验提示提示:A.命中率=1-页面失效次数/页地址流长度B. 本实验中,页地址流长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。C. 关于随机数产生方法,采用TC系统提供函数RAND()和RANDOMIZER来产生。5.自己对算法的理解FIFO页面置换算法原理简述 在分配内存页面数(AP)小于进程页面数(PP)时,当然是最先运行的AP个页面放入内存。 这时有需要处理新的页面,则将原来内存中的AP个页面最先进入的调出(是以称为FIFO),然后将新页面放入。 以后如果再有新页面需要调入,则都按的规则进行。算法特点:所使用的内存页面构成一个队列。LRU页面置换算法原理算述 当分配内存页面数(AP)小于进程页面数(PP)时,当然是把最先执行的AP个页面放入内存。 当需要调页面进入内存,而当前分配的内存页面全部不空闲时,选择将其中最长时间没有用到的那个页面调出,以空出内存来放置新调入的页面(称为LRU)。算法特点:每个页面都有属性来表示有多长时间未被CPU使用的信息。(三)LFU即最不经常使用页置换算法原理简述要求在页置换时置换引用计数最小的页,因为经常使用的页应该有一个较大的引用次数。但是有些页在开始时使用次数很多,但以后就不再使用,这类页将会长时间留在内存中,因此可以将引用计数寄存器定时右移一位,形成指数衰减的平均使用次数。LRU算法的硬件支持把LRU算法作为页面置换算法是比较好的,它对于各种类型的程序都能适用,但实现起来有相当大的难度,因为它要求系统具有较多的支持硬件。所要解决的问题有:1. 一个进程在内存中的各个页面各有多久时间未被进程访问;2. 如何快速地知道哪一页最近最久未使用的页面。为此,须利用以下两类支持硬件:(1)寄存器用于记录某进程在内存中各页的使用情况。实页/RR7R6R5R4R3R2R1R0101010010210101100300O001004011010115110101106001010117000001118011011012)栈可利用一个特殊的栈来保存当前使用的各个页面的页面号。每当进程访问某页面时,便将该页面的页面号从栈中移出,将它压入栈顶。算法特点:LFU算法并不能真正反映出页面的使用情况,因为在每一时间间隔内,只是用寄存器的一位来记录页的使用情况,因此,访问一次和访问10000次是等效的。NUR页面置换算法原理简述所谓“最近未使用”,首先是要对“近”作一个界定,比如CLEAR_PERIOD=50,便是指在CPU最近的50次进程页面处理工作中,都没有处理到的页面。那么可能会有以下几种情况: 如果这样的页面只有一个,就将其换出,放入需要处理的新页面。 如果有这样的页面不止一个,就在这些页面中任取一个换出(可以是下标最小的,或者是下标最大的),放入需要处理的页面。 如果没有一个这样的页面,就随意换出一个页面(可以是下标最小的,或者是下标最大的)。算法特点:有一个循环周期,每到达这个周期,所有页面存放是否被CPU处理的信息的属性均被置于初始态(没有被访问)。6实验流程图56N1WSW4Y续NMsizeW32YS=?2314是否用其他算法继开始用户内存空间msize=2提示出错,重新输入生成地址流形成地址页号输入算法号SMsize加1结束OPT()FIFO()LRU()LFU()实验运行结果#121S!141119国1&117&3313(222&41919&2121291911139122314222&1522235119141121415141&2192322255171212191971:211慰27724&311&27315814(313152324132717272127112916273120727211&24123127丄31&13123102312221328122133312322H23&142723132&27744页面访问过程只显示前训夺=请选搔算法:1FIFO2LRU3退出1f2算迭结果如下:页商访I可序列岂4222526284272381426302418417111(323172(3&152?2214151?028512S7S5729221328257181(339142&122111915112428283362424122105312S&713012991116202237152130121&31172&727122921丄921丄5193(3282323&223030239426272051327105108728255717918262014201708201S2214128282663132126123(319227#34 2242242242242227222723272323鎂宙数=274命由率=14375#2LRU3退出临U算法结果如下=页面访问序列二1415?.82212311S2141915925231632814163!2425223033282216926G2S1251952311191611241623527121S1.623291319182719=21S15314212724231415682492929221023253222127SG26Q14212&1028118247142513182031231724122721142729420272413871727202325i12838119303253291715291420312302&122630261211231621512&33 62815872123182494 24271114117251S2421 5192?18237261663131312312131517172716132322 79231714262426223042S12525&961919172953912281376218241441883291S314510618117331162813G21?182314722333123262217192313&41012228152921921&612191333&711211222272251619171320319121;E2S915263152&而面追向讨苯歌口見示前佃二#操作系统课程设计141415141521415214141521419X41521419?1521419?15251419915251219S15251210娱页数=275命-中率=S-140&25请选择算法=1FIFO2LRU3-退出3Pressanykeytocontinue等等。实验源程序指令数t存容量页面请求页面访问过程用来记录算法中最久未使用时间记录缺页数命中率算法中判断新的页面请求是否在内存中在前一次页面请求过程中寻找是否存在新的页面请求算法中判断新的页面请求是否在内存中算法找出内存中需要置换出来的页面10操作系统课程设计初始化页框随机数产生次指令根据指令产生次页面请求初始化页面访问过程初始化最久未使用数组12操作系统课程设计13操作系统课程设计输出页面访问序列页面访问过程(只显示前10个缺页数命中率#操作系统课程设计14操作系统课程设计算(法)将前五个页面请求直接放入内存中先将前一次页面访问过程赋值给新的页面访问过程根据新访问页面是否存在内存中来更新页面访问过程#操作系统课程设计15操作系统课程设计算(法)算出命中率将前五个页面请求直接放入内存中先将前一次页面访问过程赋值给新的页面访问过程#操作系统课程设计16操作系统课程设计根-据1反)回/的/值来更新页面访问过程#操作系统课程设计17操作系统课程设计算出命中率/最近最不常用调度算法算法结果如下:算法结果如下:算法结果如下:#操作系统课程设计算法结果如下:重新选择算法:退出请选择算法:退出endl;18操作系统课程设计实验体会通过上面的截图可以发现,实验中指令是由随机函数产生的,然后根据产生的指令算出需要访问的页面在本次实验中我写了四个页面置换算法一先进先出算法和最久未使用算法最少访问页面算法;最近最不经常使用算法。实验中的源程序是我根据书上的原理自己设计的.我从这次的实验中获得了很大的收益,让我对计算机操作系统中的页面置换算法有了进一步的了解,更加进一步地了解了计算机操作系统中的页面访问原理19
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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