第5章存储管理(2).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文档。上传文档
查看更多
请求分页的基本思想 请求分页存储管理技术是在简单分页技术基础上发展起来的,二者根本区别在于请求分页提供虚拟存储器。它的基本思想是:当要执行一个程序时才把它换入内存;但并不把全部程序都换入内存,而是用到一页时才换入这一页。这样,就减少了对换时间和所需内存数量,允许增加程序的道数。 请求分页的基本思想 当一个程序要使用的页面不在内存怎么办?而硬件将试图利用页表把用户的逻辑地址换成物理地址。该页的页表项怎么设置呢?由于没有对应的存储块,所以对该页的存取是非法的。为此,需在每一个页表项中增加一个状态位,该位为Y表示该页对应的内存块可以访问;为N表示该页不对应内存块,即该页尚未装人内存,不能立即进行访问。 如果地址转换机构遇到一个具有N状态的页表项时,便产生一个缺页中断:告诉CPU——当前要访问的这个页面还未装入内存。由于这种页面是根据请求而被装入的,所以这种存储管理方法叫做请求分页存储管理。 请求页式存储管理 分区式管理方式尽管实现方式较为简单,但存在着严重的碎片问题使得内存的利用率不高。再者,分区式管理时,由于各作业或进程对应于不同的分区以及在分区内各作业或进程连续存放,进程的大小仍受分区大小或内存可用空间的限制。而且,分区式管理也不利于程序段和数据的共享。 页式管理正是为了减少碎片以及为了只在内存存放那些反复执行或即将执行的程序段与数据部分,而把那些不经常执行的程序段和数据存放于外存待执行时调入,以提高内存利用率而提出来的。 请求页式存储管理 页式存储管理可分为静态页式管理和动态页式管理,而动态页式管理又分为请求页式管理和预调入页式管理。 本节介绍动态页式管理的请求页式管理。 实现原理 划分实页 划分虚页 建立页表 地址变换 划分实页 将物理内存划分成位置固定、大小相同的“块”(实页面)。其特点是: (1)分页是为了管理,物理内存没有按用户作业分区的概念,分页仅仅是为了信息管理构造用,为了便于提高工作效率; (2)用户不可见,物理内存也没有真正隔离,即“虚拟”的隐分页,一页中的地址必须连续; (3)分页是一种物理划分而不是逻辑划分单位,因此,页的共享有困难。 划分虚页 将用户逻辑地址空间也分成同样大小的页面,成为虚拟空间的虚页面,其特点是: (1)用户可用地址大小受物理地址大小以及地址总线的限制; (2)虚页号可大于实页号; (3)从概率来看有半页浪费,因为可能遇到只有一个字节也要占一页。 建立页表 建立页表,有时称为页面表或页面映射表(PMT)。每个作业一张,按虚页号进行登记,其基本的内容有特征位(表示该页是否在内存、实页号以及对应外存的地址) 地址变换 将虚页面的逻辑地址转化为实页面的物理地址,在程序执行时改变为物理地址,属于作业的动态重定位,一般由地址转换机构(硬件)完成。 页表的设计 分区存储管理技术提供三种表格进行存储管理,分别为 存储分块表 作业表 页表 存储分块表 整个系统一张,记录整个内存的使用情况,如,内存目前空白块总块数以及指向第一空白块的指针。主要有位示图和空白块链两种方法。 作业表 整个系统一张,每个作业占一个表项,表的内容如图所示 页表 每个作业一张,其表项包括页号(虚页)、页面号(实页)中断位、改变位、淘汰位等,如图 请求淘汰换页算法 1、分页存储管理要解决的问题 分页存储管理只让进程或作业的部分程序和数据驻留在内存中,因此,在执行过程中,不可避免地会出现某些虚页不在内存中的问题。请求页式管理必须解决的两个基本问题是: A、怎样发现这些不在内存中的虚页; B、怎样处理这种情况(采用何种方法把所缺的页调入内存,以及当内存中没有空闲页面时怎么办) A的解决是通过在页表中设置中断位及虚页在外存中的始址来处理的 B的解决就涉及到淘汰换页算法。 静态页面管理 静态页面管理方法在作业或进程开始执行之前,把该作业或进程的程序段和数据全部装入内存的各个页面中,并通过页表(page mapping table)和硬件地址变换机构实现虚拟地址到内存物理地址的地址映射。 (1)内存页面分配与回收 静态分页管理的第一步是为要求内存的作业或进程分配足够的页面。系统依靠存储页面表、请求表以及页表来完成内存的分配工作。 静态页面管理 (2)分配算法 利用上述三个表格和数据结构,给出一个页面分配算法。 首先,请求表给出进程或作业要求的页面数。然后,由存储页面表检查是否有足够的空闲页面,如果没有,则本次无法分配。如果有则首先分配设置页表,并填写请求表中的相应表项后,按一定的查找算法、搜索出所要求的空闲页面,并将对应的页面号填入页表中。图给出了上述页面分配算法的流程图。 静态页面管理 静态页面管理 (3)地址变换 静态页式管理的另一个关键问题是地址变换。即怎样由页号和页内相对地址变换到内存物理地址的问题。另外,由于静态重

文档评论(0)

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

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

1亿VIP精品文档

相关文档