- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件技术基础 虚拟存储器管理 制作 主讲 段景山 操作系统内容概要 操作系统概述和基本原理 操作系统的几大基本的管理功能 处理机管理 存储器管理 设备管理 文件管理 作业管理 虚拟存储的基本概念 请求分页式存储管理 页面置换算法 第二篇 操作系统 请求分段式存储管理 虚拟存储方法的引入 6.1虚拟存储管理的基本概念 6.1.1虚拟存储方法的引入 原有存储管理方法中存在的问题 解决问题的动机 问题产生的原因 解决方法的探索 解决方案的可行性分析 虚拟存储的引入 1)原有存储管理中存在的问题 当作业很大,超过内存剩余时,无法装入 装入的作业对内存利用率不高 99%空间内的指令在短时间内都不会得到执行 2)解决问题的动机 解决装入作业受限 提高内存利用率 提高系统吞吐量 短时间内执行的部分 * 虚拟存储的引入 3)问题产生的原因 作业装入的“一次性” 作业装入后的“驻留性” 4)解决方法的探索 不需一次全部装入作业 只装入最近需要运行的部分 装入内存的程序可在不需要访问时暂时退出内存 最近不需要的已装入部分可退出内存 虚拟存储的引入 5)解决方案可行性 程序执行的局部性规律——(1)顺序执行规律 (2)跳转的局部性 程序的跳转和调用范围不大 (3)数据访问的局部性 局部性 时间的局部性 在短时间内多次被访问 空间的局部性 在较短程序范围内多次访问 结论:可以只装入程序的部分内容 虚拟存储器的定义 6.1.2虚拟存储器的定义 虚拟存储指仅把作业的一部分装入内存便可运行的存储管理系统,通过作业各部分的动态调入和置换,用户所感觉的存储空间比实际空间大,称之为虚空间。 内存 程序 分页 磁盘对换区 0 1 2 3 0 1 2 3 将暂时不用的第0页置换出去 部分装入后开始执行 将暂时不用的第1页置换出去 产生给用户感觉比实际空间大的虚拟空间 0 1 2 3 虚拟存储的特征 6.1.3虚存的特征 离散性 虚拟存储建立在离散内存管理基础上 多次性 程序页面会多次进/出内存 对换性 在置换页面时需要在外存建立对换区 虚拟性 程序部分装入就可以执行 给用户感觉比实际空间大的虚拟空间 虚空间大小 虚空间大小 虚空间的逻辑大小 = 虚空间的实际大小 = 例:32位操作系统的可寻址范围是232=4GByte,Windows98系列系统。 例:在window系统盘根目录下,有兑换文件--外存对换区。如XP系统的pagefile.sys文件 可寻址范围 内存+外存对换区 * 虚拟存储例 虚拟存储的外存对换区 请求式分页存储管理 6.2请求分页式存储管理 以分页存储管理为基础 解决地址空间的映射问题 地址的转换 新的问题: “不完全调入” 需要的页面是否已装入内存? 当需要访问的页面不在内存中如何处理? 请求式分页方式的实现 6.2.1请求分页方式的实现 1)对页表进行扩充 让系统了解页面装入状态 状态位: 为0 不在内存中 为1 在内存中 页号 块号 存取控制 状态位 引用位 修改位 外存地址 页面是否被访问过 页面是否被修改过 页面如果不在内存中,记录页面在兑换区的位置 请求式分页方式的缺页中断 2)缺页中断(系统发现要访问的页面不在内存中时) 基本思想 当发现将要用到的页面不在主存中时产生缺页中断,由缺页中断来完成页面的调入。 调入过程 (见后) * 请求式分页的地址变换机构 3)地址变换机构及过程 请求式分页系统--按需要请求调入页面 相对地址 页号 页内地址 页表始址 页表大小 页表寄存器 (JT内容) + 块号 块内地址 物理地址寄存器 有效地址寄存器 越界? 页号 块号 页表 存在位 缺页中断 2 1 50 3 0 60 1 在分页式地址变换结构上增加 扩展的页表、缺页中断处理 请求分页方式的特点 请求分页式特点 离散分配:效率高、复杂 虚拟存储管理:部分装入、请求调入、页面置换 缺页中断将耗费系统时间,缺页率是影响系统性能的主要因素 缺页率:需要访问的页面不在内存中次数在总页面访问次数的比率 缺页率与程序实际使用的内存块数量相关 请求式分页系统的策略 6.2.2、请求分页系统的策略 分配策略 不必一次装入作业的所有页面,究竟装入时分配多少个内存块? 页面调入策略 不是所有的页面都在内存中,哪些页面应该在内存中? 剩下的页面何时调入? 页面置换策略 当没有空闲内存块,又需要调入新的页面时,要将已装入内存的页面置换出去,如何选取页面置换? 请求式分页的页面分配策略 6.2.3分配策略 给用户程序分配多少内存块够用? 用户能要求增加吗? 不能:固定分配策略 能:可变分配策略 程序 内存 请求式分页的页面调入策略 6.2.4页面调入策略 什么时候调入程序的页面? 调入程序的哪些页面? 预测调入、群调入 在调入一个需要页面的
文档评论(0)