第八章 操作系统课程3_2.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.4 虚拟存储器管理技术 请求页式 Demand paging 请求段式 Demand segmentation 3.4.1虚拟存储器的基本概念 局部性原理 在1968年P.Denning指出,程序在执行时将呈现出局部性规律,即在一段时间内,程序的执行仅局限于某个部分;相应地,它所访问的存储空间也局限于某个区域内。 局部性原理(principle of locality):指程序在执行过程中的一个较短时期,所执行的指令地址和指令的操作数地址,分别局限于一定区域。还可以表现为: 时间局部性,即一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短时期内; 空间局部性,即当前指令和邻近的几条指令,当前访问的数据和邻近的数据都集中在一个较小区域内。 局部性原理 局部性原理的具体体现 程序在执行时,大部分是顺序执行的指令,少部分是转移和过程调用指令。 过程调用的嵌套深度一般不超过5,因此执行的范围不超过这组嵌套的过程。 程序中存在相当多的循环结构,它们由少量指令组成,而被多次执行。 程序中存在相当多对一定数据结构的操作,如数组操作,往往局限在较小范围内。 虚拟存储器的原理 虚拟存储的基本原理 在程序装入时,不必将其全部读入到内存,而只需将当前需要执行的部分页或段读入到内存,就可让程序开始执行。 在程序执行过程中,如果需执行的指令或访问的数据尚未在内存(称为缺页或缺段),则由处理器通知操作系统将相应的页或段调入到内存,然后继续执行程序。 另一方面,操作系统将内存中暂时不使用的页或段调出保存在外存上,从而腾出空间存放将要装入的程序以及将要调入的页或段――具有请求调入和置换功能,只需程序的一部分在内存就可执行,对于动态链接库也可以请求调入 引入虚拟存储技术的好处 可在较小的可用内存中执行较大的用户程序; 可在内存中容纳更多程序并发执行; 不必影响编程时的程序结构(与覆盖技术比较) 提供给用户可用的虚拟内存空间通常大于物理内存 虚拟存储器的原理 虚拟存储技术的特征 物理内存分配的不连续,虚拟地址空间使用的不连续(数据段和栈段之间的空闲空间,共享段和动态链接库占用的空间) 与交换的比较:调入和调出是对部分虚拟地址空间进行 通过物理内存和快速外存相结合,提供大范围的虚拟地址空间 范围大,但占用容量不超过物理内存和外存交换区容量之和 占用容量包括:进程地址空间中的各个段,操作系统代码 虚拟存储器是具有请求调入功能和置换功能,能仅把作业的一部分装入内存便可运行作业的存储器系统,它能从逻辑上对内存容量进行扩充的一种虚拟的存储器系统 Virtual Memory That is Larger Than Physical Memory 3.4.2 请求分页存储管理 请求分页存储管理方式是在纯分页系统的基础上,增加了请求调页功能、页置换功能所形成的页式虚拟存储系统,它是目前常用的一种虚拟存储器的方式。 它允许只装人若干页(而非全部页)的用户程序和数据,便可启动运行。以后,再通过调页功能及页置换功能,陆续地把即将要运行的页调入内存,同时把暂不运行的页换出到外存上,置换时以页为单位。 Windows、Linux使用请求分页存储管理技术。 请求分页中的硬件支持 实现请求调页和置换功能,系统必须提供必要的硬件支持:页表机制和缺页中断机构。 请求分页的页表机制:是在纯分页的页表机制上形成的,由于只将应用程序的一部分调入内存,还有一部分仍在磁盘上,故需在页表中再增加若干项,供程序(数据)在换进、换出时参考。在请求分页系统中的每个页表项如图所示。 页表 各字段含义: 状态位(中断位P):用于指示该页是否已调入内存,供程序访问时参考。 访问字段A:用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考。 修改位M:表示该页在调入内存后是否被修改过。由于内存中的每一页都在外存上保留一份副本,因此,若未被修改,在置换该页时就不需将该页写回到外存上,以减少系统的开销和启动磁盘的次数;若已被修改,则必须将该页重写到外存上,以保证外存中所保留的始终是最新副本。 外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用 缺页 Page Fault 在请求分页系统中,每当所要访问的页面不在内存时,便要产生一缺页中断,请求OS将所缺页调入内存。 缺页处理过程: If there is ever a reference to a page, first reference will trap to OS OS looks at another table to decide: Invalid reference ? abort. Just not in memory. Get empty

文档评论(0)

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

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

1亿VIP精品文档

相关文档