第四章_虚拟存储管理素材.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统 Operating System 第4章 存储管理 §4.1 存储管理的原理 §4.2 连续分配存储管理 §4.3 离散分配存储管理 §4.4 内核主存管理 §4.5 虚拟存储技术 §4.6 虚拟页式存储管理 §4.7 虚拟段式存储管理 §4.8 存储管理实例 §4.5 虚拟存储技术 §4.5.1 程序局部性原理 §4.5.2 虚拟存储的实现 §4.5.1 程序局部性原理 1.局部性原理(principle of locality): 指程序在执行过程中的一个较短时期内,所执行的指令地址和指令的操作数地址,分别局限于一定区域。 2.局部性主要表现: 时间局部性:是指一段指令在某一时间段内会被反复执行。即程序某一部分的数据或指令被重复性地访问,它们对应于程序结构中的循环、子程序、常用到的变量及数据等 ; 空间局部性:是指一旦某一个存储单元被访问,那么它附近的单元也将很快被访问。这对应于程序结构中的顺序执行的指令、线性数据结构以及在相邻位置存放的数据或变量等。而程序中的分支和调用子程序只是将程序的访问空间从一处移到另外一处,仍具有局部性。 排他性:程序运行不但体现在时间、空间的局部性,还体现在某些程序段执行的排他性。 即程序设计者编程时要考虑程序执行时所能遇到的各种情况,但具体到一次程序的执行,并不会发生所有的状况。因而某些程序段在进程整个运行期间,可能根本不使用,如出错处理、分支语句等。因而,没有用到的程序段就不必调入内存。另外,有些程序段仅执行一次,以后就再也不会用到,这样的程序段也没有必要一直占用内存空间。 2.虚拟技术实现的关键 (1)怎样才能发现欲执行的指令或数据不在内存? 简单有效方法就是进行标识 (2)怎样将不在内存的部分调入进来。 通常系统采用中断技术完成调入工作。 (3)在内存中的作业如何组织? 一个进程可被分为多次调入内存,这样很难保证进程在内存中占据一个连续的空间,实际上进程在内存中是离散存储的。 虚拟技术进一步说明 系统要提供必要的硬件支持,如虚拟页式存储中的页表机制、缺页中断机构以及相应的地址变换机构。 虚拟存储技术是将内存与外存有机地结合在一起,从而得到一个容量很大的虚拟空间。使用户感到有一个很大的内存,不用再考虑内存的容量限制。 虚存虽然比内存要大得多,但不可能无限大,其大小要受到外存空间的限制以及CPU地址所能表示范围的限制。 3.引入虚拟存储技术的好处 大程序:可在较小的可用内存中执行较大的用户程序; 大的用户空间:提供给用户可用的虚拟内存空间通常大于物理内存(real memory) 并发:可在内存中容纳更多程序并发执行; 易于开发:与覆盖技术比较,不必影响编程时的程序结构 4. 虚拟存储技术的特征 不连续性:物理内存分配的不连续,虚拟地址空间使用的不连续(数据段和栈段之间的空闲空间,共享段和动态链接库占用的空间) 部分交换:与交换技术相比较,虚拟存储的调入和调出是对部分虚拟地址空间进行的; 大空间:通过物理内存和快速外存相结合,提供大范围的虚拟地址空间 §4.6 虚拟页式存储管理 §4.6.1 虚拟页式存储的实现 §4.6.2 页面分配策略 §4.6.3 页面置换方法 §4.6.4 虚拟页式存储的优缺点 §4.6.1 虚拟页式存储的实现 1.基本原理 系统自动地将作业的地址空间分页,将系统的主存空间分块,页与块等大小。 在作业运行前,只把初始需要的一部分页面装入内存块里,运行中需要访问自己地址空间中的但当前不在内存的页面时产生缺页中断,由缺页中断服务程序将所需的页面调入内存。 若此时内存中没有空闲物理块安置请求调入的新页面,则系统按预定的置换策略自动选择一个或一些在内存的页面,把它们换出到外存。 这里的请求调入和置换功能都是比实分页存储管理增加的内容,是实现虚拟存储的主要功能。 页面的动态调度步骤: 1、找到被访问页面在外存的地址; 2、在内存中找一个空闲页面; (1)如果没有,按照淘汰算法选择一个内存页面; (2)将此内存页面写回外存,修改页表及页面分配表; 3、读入所需的页面,修改页表及页面分配表; 4、重新启动进程执行被中断的指令。 2.页表机制 标记某页是否在内存,用于查询要访问的页在不在内存。页表如下: 3.动态地址变换 在虚拟页式存储中,应采用动态地址变换方式,因为某一欲执行的指令可能不在内存,只能在指令执行之前完成地址变换。任一作业都应在自己的虚拟地址空间中执行,所以要为用户作业设置一个虚拟地址指针VP,虚拟地址依然是由页号和页内偏移地址组成的。 系统总是执行VP虚指针所指向的指令,为了将虚拟地址VP变换为

您可能关注的文档

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档