第6章-内存管理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2. 硬件支持:性能接近最佳算法。但由于需要记录页面使用时间的先后关系,硬件开销太大。 1)寄存器:记录某进程在内存中各页的使用情况。 为每个在内存中的页面配置一个移位寄存器,当进程访问它时,将其寄存器的最高位置1。且定时信号每隔一定时间将寄存器右移一位。则具有最小数值的寄存器所对应的页面,就是最近最久未使用的页面。如图: 2)一个特殊的栈:保存当前(最近)使用的各个页面的页面号。当访问某个页面时,若栈中没有该页号,则直接将该页号压入栈顶;否则把该页号从栈中移出压入栈顶;栈底为最近最久未用的页面的页面号。如图: 页面置换算法 图 4-28 某进程具有8个页面时的LRU访问情况 用栈保存当前使用页面时栈的变化情况 三、Clock置换算法 因为LRU算法要求有较多的硬件支持,成本较高。经常使用的是一些LRU的近似算法。 1.简单的Clock置换算法 思想:置换最近一段时间内没有被使用过的页面。 过程: 为每页设置一个访问位。且将内存中的所有页面链接成一循环队列(可按到来的时间链接)。 某页被访问,则其访问位置1。需要置换时,选择访问位为0的换出。 Clock置换算法 在选择换出页面时,还要把访问位是1的页面重新置0。如果查找一遍后都没有访问位是0的页面,则返回队首重新检测。 该算法只考虑该页是否已经使用过,未考虑使用的时间,可称为“最近未用算法”(NRU,Not Recently Used)。 2、改进型Clock置换算法 选择置换出的页面时考虑访问位和修改位两个因素。因为,若是该页被修改过,则置换出时,需要将其回写到硬盘上;否则不需要回写。 由访问位和修改位可将页面分为四类: 访问位 修改位 1类 A=0 M=0 2类 A=0 M=1 3类 A=1 M=0 4类 A=1 M=1 选择: 1)从指示位置开始,找A=0且M=0的,遇到的第一个为选中页。访问位A值不变 2)若1)失败,找A=0且M=1,找到的第一个选中。同时将所有经过页面的A置为0 3)若2)失败,重复回到1)2) 优点:减少磁盘I/O操作;缺点:多次扫描。 Clock置换算法 四、其它置换算法 1.最少使用(LFU)置换算法 选择到当前时间为止被访问次数最少的页面被置换; 为每个页面设置一移位寄存器,记录该页面被访问的频率。 发生缺页中断时,淘汰计数值最小的页面,并将所有计数清零. 缺点:此算法不能真正反映页面使用情况。因为在一段时间间隔内,只是用寄存器的一位来记录页的使用情况。 其它置换算法 2. 页面缓冲算法: 为减少I/O的次数,页面的置换不是以“1”为单位,而是一次置换出多个页面。 当选择到要置换的页面时,先将它链接到某个链表(不需回写的链到空闲链表;要回写的链到已修改页面的链表); 只有当已修改页面的链表中页面个数达到一定数值时,才执行置换。 还有一个好处是,当访问到某个被选中换出的页面时,若它此时还在内存的某个链表中,则访问很快、简单。 6.8 请求分段存储管理方式 以段为单位进行换入、换出,运行前只需先调入若干个分段。 一、硬件支持 1.段表机制: 段名 段长 段的基址 存取方式 访问字段A 修改位M 存在位P 增补位 外存始址 存取方式:标识本段的存取属性,可为E、R、R/W; 增补位:标识本段在运行过程中,是否进行过动态增长。 2 缺段中断机构:当进程要访问的段不在内存时,产生缺段中断,由缺段中断处理程序将所需段调入内存。缺段中断比缺页中断要少,但因为段长的不一致,使得将段调入内存的过程要复杂一些。如图: 3 地址变换机构:在由逻辑地址到物理地址的转换中,仍是使用段表。还可考虑段的保护和缺段。如图: 请求分段存储管理方式 图 4-31 请求分段系统中的中断处理过程 图 4-32 请求分段系统的地址变换过程 请求分段存储管理方式 二、分段共享与保护 1.共享段表:在系统中设置一张共享段表,各共享段都在段表中占有一表项,表项中可有:段号、段长、内存始址、存在位等信息。并记录共享此段的每个进程的情况。如图: 1)共享进程记数count:记录有多少个进程共享该段。 2)存取控制字段:不同进程对同一段有不同的权限。 3)段号:不同进程可用不同段号来标识该共享段,是由段的动态链接来保证。如: 共享段表项 2. 共享段的分配、回收 1)分配:当第一个进程申请该段时,将其调入内存,填写进程的段表,在系统的共享段表中增加一表项,设count=1;再有进程申请该段时,只需在调用进程中填写进程段表(该共享段的物理地址)、共享段表(调用进程名、存取控制等),count+1等即可。 2)回收:某进程释放段后,执行count-1。若结果为0,则回收物理块,取消共享段表中该段

文档评论(0)

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

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

1亿VIP精品文档

相关文档