存储器管理-课程设计.docVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计报告 课程: 操作系统 学号: 0810110013 姓名: 班级:计算机科学与技术08本科师范 教师: 殷荣庆 时间:2010年12月28日 计算机科学与技术系 设计名称:存储器管理 日期: 2010年12月28 日 设计内容: 存储器是计算机系统的重要组成部分。近年来,存储器的容量虽然一直在不断扩大,但仍然不能满足现代软件发展的需要,因此,存储器仍然是一种宝贵而紧俏的资源。如何对它加以有效的管理,不仅直接影响到存储器的利用率,而且还对系统性能有很大影响。 页面置换算法是虚拟存储管理实现的关键,通过本次课程设计,我们能够理解页面是换算法的机制,在模拟实现FIFO,LRU,NRU和OPT几种经典页面置换算法的基础上,比较各种置换算法的效率以及优点,从而了解虚拟存储实现的过程。 对比下列几种算法的命中率: 先进先出算法(First in First Out, FIFO)。 最近最少使用的算法(Least Recently Used, LRU)。 最近未使用算法(Never Used Recently, NUR)。 最佳置换算法(Optimal Replacement, OPT)。 设计目的与要求: 设计目的: 本次课程设计主要为了了解内存的各种管理方式,要求掌握分区式、页式、段式、段页式存储管理方式,以及虚拟存储器的基本概念和请求调页、请求调段存储管理方式。明白一些基本概念和计算机的相关工作方式,如:处理机调度的基本概念、调度算法、实时调度、多处理机系统中的调度、死锁的基本概念、处理死锁的基本方法。通过动态优先权算法的模拟加深对进程概念和进程调度过程的理解。重点研究一下四点内容: 理解内存页面调度的机理。 掌握几种理论页面置换算法的实现方法。 了解HASH表数据结构的使用。 通过具体的上级操作与数据对比,比较各种各种调度算法的优劣。 设计要求: 自己编写代码,用各种不同的调度算法(先进先出算法、最近最少使用的算法、最近未使用算法、最佳置换算法)让计算机调度,计算出各种算法得出的命中率,根据计算机给出的命中率统计数据,比较各种调度算法的优劣。课程设计报告中要给出计算机统计出来的各种算法命中率的数据,然后说明对数据的具体分析步骤,最后总结出各种调度算法的优劣。 设计环境或器材、原理与说明: 一、设计环境: windows xp操作系统、虚拟机、红帽Linux操作系统。 二、设计器材:微型计算机 三、设计原理: 下面分别叙述各种页面调度机制的原理: 1:FIFO页面置换算法: 原理简述: (1)在分配内存页面数(AP)小于进程页面数(PP)时,当然是最先运行的AP个页面放入内存。 (2)这时有需要处理的新页面,则将原来在内存中的AP个页面中最先进入的调出。(所以成为FIFO),然后将新页面放入。 (3)以后如果再有新页面需要调入,则都按(2)的规则进行。 算法特点:所使用的内存页面构成一个队列。 图标描述: 假设某个进程在硬盘上被划为5个页面(PP=5),以1,2,3,4,5分别表示,处理机调度他们的顺序(这取决于进程的本身)为:1,4,2,5,3,3,2,4,2,5. 如果内存可以控制的页面数位3(AP=3),那么在使用FIFO算法时,这三个页面的内存使用情况如图所示: 队列第1位 1 4 2 5 3 3 3 4 2 5 队列第2位 1 4 2 5 5 5 3 4 2 队列第3位 1 4 2 2 2 5 3 4 不难看出本例子共患处页面8次,若用变量diseffect表示页面换入的次数,则diseffect=8. 算法实现提示: 要得到命中率,必须应该有一个常熟total_instructrion来记录页面总共使用的次数;此处需要一个变量记录总共换入页面的次数(需要换出页面,总是因为缺页中断而产生)diseffect.。 (1)初始化。设置两个数组page[ap]和pagecontrol[pp]分别表示进程页面数和内存分配的页面数,并产生一个随机数序列main[total_instruction](当然这个序列由page[]的下标随机构成),表示待处理的进程页面序列,diseffect置零。 (2)看main[]中是否有下一个元素,有就由main[]中获取该页面下标,并转到(3);没有就转到(7)。 (3)如果该page页已经在内存中,就转到(2);否则就转到(4),同时未命中的diseffect加1. (4)观察pagecontrol是否占满,如果占满需将使用队列((6)中建立的)中最先进入的(就是队列的第一个单元)pagecontrol单元清干净,同时将对应的page[]单元置为不在内存中。 (5)将该pa

文档评论(0)

smdh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档