《计算机操作系统》(孙雅如版)全套PPT电子课件教案-第3章 存储器管理精选.ppt

《计算机操作系统》(孙雅如版)全套PPT电子课件教案-第3章 存储器管理精选.ppt

  1. 1、本文档共105页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《计算机操作系统》(孙雅如版)全套PPT电子课件教案-第3章 存储器管理精选

其中增加的表项如下: 状态位:表示该页是否在内存。 外存地址:该页存放在外存的地址,也就是存放在外存的块号。 访问字段:记录该页的访问频度,作为置换的参考依据。 修改位:记录该页在内存访问过程中是否被修改。若未被修改,则可以将该块直接标为空闲;若被修改,则首先应将该块中的内容记录到对换区中,再将该块标为空闲。 3.缺页中断 当要访问的页不在内存时,产生一个缺页中断,请求操作系统将所缺页调入。该中断除了具有一般中断的保护现场、分析中断、转中断处理程序的过程外,还具有指令执行期间产生和处理中断而且可能多次中断的特征。比如图3-17,执行Move a to b一条指令共发生6次中断。其中这条指令跨两个页面,而a、b两个数据块也都是跨页面的。 图3-17 发生6次缺页中断的指令 4.请求分页存储管理的地址变换 图3-18 请求分页存储管理地址映射 3.5.2 页面置换算法 1.先进先出算法FIFO(First In , First Out) 算法的基本思想是,总是先淘汰那些驻留在内存时间最长的页面,即先进入内存的页面先被淘汰。因为最早调入内存的页面不再被访问的可能性最大,这种算法实现起来比较简单。设分配给一个进程的物理块数为m,用一个由m个元素组成的队列表示按次序存放进入内存的页面,以及一个替换指针,指向其中最早进入的页。例如对于某进程,分配的物理块数m=3,执行时的页面顺序为1、2、4、5、2、3、1、4,则处理时队列和指针状况如图3-19所示。 先进先出算法实现简单,但是与进程实际运行的规律不适应,一般缺页率较高,也就是说发生置换的次数较多,而这种置换增加了系统开销。例如,从图3-19中可以看到,页面4刚被调出,又发生缺页中断而被重新调入。 图3-19 FIFO置换算法 2.最优页面置换算法OPR(Optimal Page Replacement) 最优页面置换算法的思想是选择以后最远将来才会用到甚至是以后再不会用到的页面予以置换。采用这种算法,可以保证只发生最少页面置换次数,见图3-20。但是我们又可以看到,因为它是依据进程将来的执行情况来决定置换对象的,而实际的操作系统是不可能具有预知“未来”的能力的,所以说这种算法无法由计算机实现,但是它可以作为衡量某种置换算法性能的一个参考标准。 3.最近最久未用置换算法LRU (Least Recently Used) 该算法的基本思想是依据局部性原理,如果某一页被访问了,那么它很可能马上又被访问;反之,如果某一页很久没被访问,那么最近也不会再被访问。所以这种算法的实质是当需要置换一页时,选择在最近一段时间最久未用的页予以淘汰。该算法的实现过程如图3-20所示,图中Ri表示置换出i号页。从图3-20中我们可以看到,采用LRU置换算法,对于上述页面序列产生了4次置换。 图3-20 LRU置换算法与OPR置换算法举例 LRU算法能够比较普遍地适用于各种类型的程序,但是实现起来比较困难。因为要对先前的访问历史时时加以记录和更新,如果这种连续的修改完全由软件来做,则系统开销太大,如果由硬件完成,会增加计算机成本。因此,在实际应用中得到推广的是一种简单而又有效的LRU近似算法。 3.2.4 动态重定位分区分配 在动态分区分配中,多个无法利用的小分区所形成的“碎片”是一种很大的资源浪费。如图3-9(a)所示,空闲分区之和为10 KB,但是无法装入一个8 KB的程序。 为了解决类似问题,我们采用一种称为“紧凑”的方法,通过移动程序将原来分散的空闲小分区拼接为一个大的分区,就可以使某些比较大的进程进入,如图3-9(b)所示。一般情况下,当某进程因为没有足够大的分区,而所有“碎片”之和又大于进程大小时将进行“紧凑”。 图3-9 紧凑 请思考:可否每分配或者回收一个分区就进行紧凑? 采用内存“紧凑”以后,由于程序和数据的位置都发生了变化,如果不进行相应的地址修改,则程序就无法执行。所以必须要采用3.1.2节介绍的动态重定位方法来进行地址映射,于是称这种方案为动态重定位分区分配。 动态重定位分区分配算法实际上是在动态分区分配算法中增加了“紧凑”环节,即无法找到满足大小的分区时,进行“紧凑”之后再进行分区分配。 3.2.5 分区分配方案的评价 在分区分配方案中,地址映射都遵循“物理地址=分区始地址+逻辑地址”,固定分区分配与动态分区分配的分区始地址都来自于硬件“基址寄存

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档