下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、前言 在存储管理当中,页面置换算法通常可分为两种:一种基于进程驻留集大小不变;另一种基于驻留集大小可变。在驻留集大小不变的页面置换算法当中,常用的算法主要有:fifo、opt 、lru。本文讨论的对象是fifo、lru算法。在进程运行过程中,若所要访问的页面不在内存中,需要调入页面时,选择内存中的那个物理页面将其调出。通常只能在局部性原理指导下,把不再使用的页面调出。如何选择调度策略即页面置换算法至关重要,置换算法的好坏,直接影响着系统的性能,因此我们有必要将常见的fifo和lru两种算法进行比较,分析性能。一、设计目的 了解页面置换的概念;理解页面置换的算法加深对页面置换算法的理解。二、设计
2、内容编程实现fifo和lru页面算法。可以通过随机数产生新的页面,计算缺页次数和缺页率、置换次数和置换率。3、 页面置换算法原理1) 先进先出算法(first in first out),总选择作业中最先进入内存的一页淘汰。较早调入的页往往是经常被访问的页,这些页在fifo算法下被反复调入和调出。只有在线性顺序访问地址空间时才是理想的,否则效率不高。在未给进程或作业分配足够的页面数时,缺页次数反而增加,从而产生belady现象,2) 最近最久不用的页面置换算法(least recently used replacement),当需要置换一页面时,选择在最近一段时间内最久不使用的页面予以淘汰。此
3、算法通过周期性的对“引用位”进行检测,并利用它来记录一个页面自上次访问以来所经历的时间t;淘汰时,选择t为最大的页。选择内存中最久未使用的页面被置换。这是局部性原理的合理近似,性能接近最佳算法。但由于需要记录页面使用时间的先后关系,硬件开销太大。四、 页面置换算法设计1) fifo算法a. 算法简述: 开始时,因为内存中没有放有页面,所以先将insertpagenumber(存放要调入的页面,数组大小为pagenumber(页面数)中的一个页面调入内存并放入pagenumberm(存放调入内存的页面,数组大小为memblock(物理块数)中; 如果insertpagenumber中的页面还没有
4、访问完,则从insetpagenumber中调入新的页面。否则进入步骤。如果该页面不在内存中存在,则将pagenumbermmemblock中最先进入内存的那个页面调出,然后将新页面放入。进入步骤。 返回到步骤。 结束,退出。b. 算法流程图如下:fifo流程图 开始 取一块页面页面在内存中是否存在y内存块是否填满nnny内存数组的下标等于物理块数n从第一个开始循环y 下标置零 将页面插入到下标index处; 下标增一 取下一块页面页面是否全部访问y n y 终止2) lru算法a. 原理简述 开始时,因为内存中没有放有页面,所以先将insertpagenumber(存放要调入的页面,数组大小
5、为pagenumber(页面数)中的一个页面调入内存并放入pagenumberm(存放调入内存的页面,数组大小为memblock(物理块数)中; 如果insertpagenumber中的页面还没有访问完,则从insetpagenumber中调入新的页面。否则进入步骤。如果该页面不在内存中存在,则通过访问flagarray,获得数组元素最大值对应的数组下标index1,然后将新页面放入pagenumberindex1中。进入步骤。 返回到步骤。 结束,退出。 开始 取一块页面 页面在内存中是否存在yn物理块是否已满ny遍历标志数组;获得数组元素的最大值对应的数组下标 将页面放入对应数组下标的内存
6、数组中将标志数组的其余元素值加一,对应元素的值赋零,下标加一 取下一块页面 页面是否全部访问n 结束y五、结果显示七、 心得体会fifo算法当需要置换页面时,主要通过置换最早进入内存的页面从而达到先进先出的目的。lru算法当需要置换页面时,主要通过置换进入内存中最久没有被访问的页面而达到最近最久未使用的目的。在这个程序中我只是通过一个标志数组来存储未被访问的次数。在这个课程设计依据计算出的缺页次数和缺页率、置换次数和置换率,来论证fifo算法与lru算法的效果区别,通过测试可以看到对于调入页面的一般情况下lru算法的置换次数明显的比fifo算法的置换次数要少,但由于lru算法是“向前看”的,而
7、页面过去和未来的走向之间并无必然的联系。所以lru算法与fifo算法的缺页次数之间并无区别。1. 通过本次课程设计,加深了对操作系统的页面置换有了一定的了解,并能够用高级语言进行模拟演示。通过查阅相关资料基本掌握了java应用程序编写的基本方法。使用java编程极大的减少了代码量,直观的界面设计,不仅便于实现而且简化了编码,便于集中精力到主算法的编写上。2. 两种页面置换算法fifo和lru理解起来相当容易,但在实际编程实现的时候需要注意各种细节,需要耐心细致,实际编程中遇到一些细节上的小问题确实需要仔细考虑才行。3. 为了简化编程的困难,采用随即数的思想,使得程序易于实现。通过两种页面置换算法的比较,对页面置换有更深一层的了解。使我对操作系统特别是页面置换这一部分的认识有了很大的加深。4. 使自己对java语言的基本框架有新的了解,加深了对可视化程序的认识。在使用java语言来实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年量子计算机技术研发与推广合同
- 2024模具行业市场营销策略与合作合同范本3篇
- 2024年版标准无限责任担保合作合同版B版
- 2024年版:移动应用开发工具购买合同
- 2024年限定区域工程承包合作框架合同版
- 2024楼体亮化安装工程合同
- 2024旅游公司租车合同(含导游、翻译、景点讲解)3篇
- 2024年特许经营合同:连锁餐饮品牌授权协议
- 2024年预售商品住宅订购协议样本版
- 银行工作总结风险防控
- JJF 1183-2007 温度变送器校准规范-(高清现行)
- 色彩基础知识ppt
- 加油站冬季安全教育
- 第二章航空燃气轮机的工作原理
- 推板式造波机的机械结构设计
- SAPHR快速指南
- 广东海洋大学大数据库课程设计
- (完整版)食堂管理制度及流程
- 某医院后备人才梯队建设方案
- 二年级上册英语教案Unit6 Lesson22︱北京课改版
- 桂枝加龙骨牡蛎汤_金匮要略卷上_方剂加减变化汇总
评论
0/150
提交评论