操作系统原理及实验(应用型本科) 教学课件 作者 石国华(4).pptVIP

操作系统原理及实验(应用型本科) 教学课件 作者 石国华(4).ppt

  1. 1、本文档共41页,可阅读全部内容。
  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文档。上传文档
查看更多
chap3 第五章 虚拟存储器管理 本章摘要 采用简单存储管理技术,将严重降低系统性能和内存利用率,从而显著地减少系统吞吐率。 为解决问题,引入虚拟存储器相关知识 虚拟存储器的硬件特征 使用分页、分段和段页式三者情况 操作系统中虚拟存储器机制的设计问题 分级存储体系 虚拟存储器 扩大内存的物理地址空间 研制更大容量的内存 虚拟存储技术 虚拟存储器(Virtual Memory) 使操作系统给用户提供一个比真实内存空间大得多的地址空间。 虚拟存储器并不是实际的内存,它的大小比内存空间大得多,是操作系统对逻辑内存的扩充。 局部性原理 程序在执行时将呈现出局部性规律,即在一个较短时间内,程序的执行仅限于某个部分;相应的,它所访问的存储空间也局限于某个区域。 最重要的是90/10局部性规则:程序花费90%的执行时间运行指令集中10%的指令代码。 时间局部性:如果某个参数被引用,那它不久将再次被引用。 空间局部性:如果某一参数被引用,则它附近的参数不久也将被引用。 虚拟存储器特征 虚拟扩充 虚拟存储器不是扩大物理内存空间,而是扩充逻辑内存容量。 用户编程时所用到的地址空间可以远大于实际内存的容量。 部分装入: 每个进程不是全部一次性地装入内存,而是分为若干部分分批按需加载。 离散分配: 一个进程分成多个部分,它们没有被全部装入内存。 装入内存的那部分也不必占用连续的内存空间。 多次交换: 在一个进程运行期间,它所需的全部程序和数据分成多次调入内存。 每次调入一部分,只解决当前需要,而在内存的那些暂时不被使用的程序和数据,可以换出到外存的交换区;甚至可以把暂时不能使用的进程在内存的全部映像都换出到交换区,以腾出尽可能多的内存空间供可运行进程使用。 被调出的程序和数据在需要时可以重新调入内存中。 虚拟分页存储管理 虚拟分页存储管理建立在简单分页存储管理系统基础上 基本思想是: 当一个进程的部分页面在内存时就可调度运行; 在运行的过程中若用到的页面不在内存中,则将它们动态换入内存。 减少了交换时间和所需内存数量, 增加加载到内存的进程道数。 硬件支持 系统必须提供一定的硬件支持 一定数量的内存和外存 页表机制 缺页中断机构 地址变换机构。 页表机制 虚拟分页存储管理方式建立在简单分页技术基础上 需在页表中添加若干项,作为进程换进、换出时的参考。 态位:用于表示该页当前是否在内存中。 引用位:用于记录最近对该页是否访问,无论读或写,在访问该页时都会修改引用位。发生缺页时,引用位中的数据作为置换算法选择换出页面的参考。 修改位:表示该页在调入内存后是否被修改。 外存地址:用于表示该页在外存中的地址,供调入该页时使用。 缺页中断机构 一旦发现所访问的页面不在内存中,立即产生中断信号,随后转入缺页中断处理程序进行相应的处理。 缺页中断处理过程包括 保存CPU环境 分析中断原因 转入缺页中断处理程序 恢复CPU环境 缺页中断处理由硬件和软件共同实现的。 缺页中断的处理 两级页表和多级页表 现代计算机系统都支持虚拟存储器管理技术 ,页表就变得非常大,要占用大量的内存空间 。 通过以下两个方面来解决该问题: 对页表所需的内存空间,采用离散分配方式来解决难以找到一块连续的大内存空间的问题; 只将当前需要的部分页表项调入内存,其余的页表项仍保存在磁盘上,需要时再将它们调入内存。 两级页表(Two-Level Page Table) 二级页表逻辑地址结构 地址转换的方法是: 利用外层页号p1检索外层页表,从中找到相应内层页表的基址; 再利用p2作为该内层页表的索引,找到该页面在内存的物理块号; 用该物理块号和页内地址d拼接起来,形成访问内存的物理地址 两级页表的地址转换 反置页表 为了避免页表占用过多地址空间,也可以采用反置页表(Inverted Page Table)。 一般页表的表项是按照页号进行排序,页表项中的内容是物理块号。 反置页表是为每一个物理块设置一个页表项,并将它按物理块的号数排序,其中的内容是页号及其所属进程的标识符。 这样,系统中只有一个页表,每一个内存块对应唯一的表项 反置页表 利用反置页表进行地址变换 用进程标识符和页号去检索反置页表, 若找到与之匹配的表项,则该表项的序号就是该页在内存中的块号,块号与逻辑地址中的页内地址拼接起来就构成访问内存中的物理地址; 如果检索完整个页表,都没有找到匹配的表项,则表示该页此时尚未调入内存,对于具有请求调页功能的存储器系统,此时产生调页或缺页中断;若无此功能,则表示地址出错。 反置页表 性能 减少页表所占用的内存, 增加了检索页表所耗费的时间。 Hash页表 用一个简单的Hash函数将逻辑地址的页号映射到Hash表,Hash表项中包括指向反置页表的指

文档评论(0)

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

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

1亿VIP精品文档

相关文档