操作系统教程电子教案何樱 第3章存储器管理.pptVIP

操作系统教程电子教案何樱 第3章存储器管理.ppt

  1. 1、本文档共107页,可阅读全部内容。
  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文档。上传文档
查看更多
(3)最近最久未使用算法(Least Recently Used,LRU) 当需要淘汰某一页时,选择在最近一段时间内最久没有使用过的页,把它淘汰。这依据的是程序局部性原理,即如果某页被访问,它可能马上还要被访问;相反,如果某页长时间未被访问,它可能最近也不可会被访问。这种算法实现的方法有两种: 第一,在页表中设置访问字段,记录该页自上次被访问以来所经历的时间t,当需要淘汰一个页面时,选择时间最久的那个页面。将新页的 t 置 0,其它页t+1。 缺点:需要不断对前面访问过的页面进行记录和更新,如果由软件完成修改,则系统开销大;如果由硬件完成,则成本将加大。 第二,利用一个特殊的栈来保存当前使用的各个页的页号。当访问某页时,则将该页的页号从栈中抽出,再将它压入栈顶。因此,栈顶始终是最新被访问的页面的编号,而栈底则是最久未使用的页号。淘汰一页时,从栈底抽出一个页号。 缺点:每次产生中断,都要对栈表进行修改,整个系统性能将成倍降低,硬件开销大。 例:给定一个访问串为(6,1,3,2,1,6,1,4,5,3,1,3,5,0,2,0,1,6,1,0),可用空闲页面数为3,计算缺页中断率。 缺页次数=13 缺页中断率=13/20=65% (4)最不经常使用算法(Least Frequently Used,LFU) 选择到当前时间为止被访问次数最少的页置换。其实现方法是每页设置一个访问计数器,每当页面被访问时,该页面的访问计数器加“1”;发生缺页时,淘汰计数器值最小的页,同时将所有计数器清零。 (5)时钟算法(Clock )(NUR) 该算法采用循环队列机制构造页面队列,形成一个类似于钟表面的环形表,指针指向可能要淘汰的页面。淘汰那些引用位(R)为0的页。任何一个页被访问时,其引用位置1。 当发生缺页时: ① 指针扫描循环队列,把所遇到的R=1的页,置R=0,淘汰R=0的页,插入新页,置R=1。指针推进一步。 ② 如果所有页面的R=1,则指针会循环一周,停在起始位置,并淘汰这一页,插入新页,置R=1。指针推进一步。 该算法存在一个问题,淘汰一个页面时,如果该页面已被修改过,必须进行回写。所以最好淘汰那些没被修改过的页,即:M=0的页。 置换页面选择的顺序是: ① R=0,M=0 该页既未引用过,也未被修改过。 ② R=0,M=1 该页未引用过,但被修改过。 改进的时钟算法: ① 指针扫描循环队列,扫描过程中不改变引用位,首先找R=0且M=0的页置换,置换后,把新页R置1,指针推进一步。 ② 如果没有找到,则找R=0,M=1的页置换,置换前先进行回写,置换后,把新页R置1,扫描过程中把R置0。 ③ 进行第3轮扫描,此时,所有页的访问位=“0”,再回到第①步。 这种改进的页面置换算法,减少了I/O操作的次数,提高了系统效率,但增加了扫描次数,系统开销加大。 例:给定一个访问串为(6,1,3,2,1,6,1,4,5,3,1,3,5,0,2,0,1,6,1,0),可用空闲页面数为3,计算缺页中断率。 7.管理特点 (1)要运行的作业可以不必全部装入主存就能运行。事先要把作业分成大小相等的“页”,把主存分成与页大小相等的块,先装入一些必须的页,运行时再装入所需要的页。 (2)这样与全部装入主存的存储管理方式相比,可以节省主存空间,增加并发执行的作业个数,提高系统资源的利用率。 3.8.3 分页式虚拟存储管理例题 例1.一个矩阵a[100][100]以行为先进行存储。一个虚存系统,物理主存共有三页,其中一页用来存放程序,其余两页用来存放数据。假设程序已在主存中占有一页,其余两页为空。 程序A:for(i=0;i100;i++) for(j=0;j100;j++) a[i][j]=0; 程序B:for(i=0;i100;i++) for(j=0;j100;j++) a[j][i]=0; 若每页可放200个数据,程序A和程序B的执行过程各会发生多少次缺页中断?若每页只能存放100个数据呢?以上说明了什么问题? 例2.设作业的虚拟地址为24位,其中高8位为段号,低16位为段内相对地址。试问: (1)一个作业最多可以有多少段? (2)每段的最大长度为多少字节? 本章小结 存储器管理的主要任务是分配存储器,主要目的是提高存储器的

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档