- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ch虚拟存储器.ppt
哈工大华德学院计算机系 《操作系统》 第5章 虚拟存储器 5.1 虚拟存储器概念 5.2 请页式虚拟存储管理 5.3 页面淘汰算法 5.1 虚拟存储器概念 问题的提出:是否能只装入某作业的若干页面就能使其运行,待以后进程提出新的页面要求时,再按需调入。这样,就可以使主存容纳更多的就绪进程。可以支持用户编写超出主存容量的更大程序。 关键技术:分页式虚拟存储管理。 一、分级存储体系???? CPU 执行的指令必须放在内存,指令执行中要访问的数据也必须在内存。为了允许用户的作业地址空间大于实地址空间,尤其是允许许多用户共享实存储资源去有效地并发运行,则通常用两级存储方案实现。 第一级是主存,进程在主存中运行,在主存中的数据是运行进程要访问的。 第二级由像磁盘、光盘那样的大容量存储介质组成,它们有能力装入有限主存不能同时装入的程序和数据。第二级存储一般称为辅助存储器(如下图示)。 在CPU和内存之间,还有Cache 辅存只能做“仓库”用,而不能像内存那样作为CPU直接识别的工作场所。 二、局部性原理 只有不一定要求程序全部装入内存就能运行,才能运行超过主存容量的大程序,才能支持更多程序并发执行。这就是实现虚拟存储器的局部性原理基础。 局部性意味着在一段时间内只要一部分程序及访问的数据在内存就行了。当需要访问新地址空间时再从辅存把包含新局部的部分调入,就可以陆续把一个大程序运行完。 三、虚拟存储器 OS为每一个进程提供一个与其地址空间一致的虚拟地址空间,称之为虚拟存储器(如下图示)。虚拟存储器的容量由计算机的地址结构决定,其最大容量受计算机的主存,辅存容量之和的限制。 在虚拟存储器的各种实现方案中,分页式虚拟存储器技术是使用最为广泛的一种。 5.2 请页式虚拟存储管理 一、对页式存储技术的改进 (1)为每个作业分配内存时,先只将当前需要的一部分页面装入内存即启动程序运行; (2)设置缺页中断机制,在作业运行中,当访问到不在内存的页面时,便发生缺页中断,把控制转向操作系统; (3)操作系统增设缺页中断处理程序,操作系统判明中断原因是缺页,则到辅存上找到该页,并把它调入内存。若当前页面已满,则从主存中某页与该页进行对换。 (4)扩充了页表。请页式存储管理所用的页表,其中包括三个标识位:存在位,访问位和修改位(如下图示)。 页框号 存取控制 存在位 访问位 修改位 页表: 二、缺页中断处理过程 ?三、工作集概念 定义:某一时刻允许装入主存的最大页面数。记作M 工作集及其大小随时间变化,他们可以在进程执行过程中,被工作集尺寸计算程序动态地确定,大体过程是: ???(1)装入进程的第一页,让进程运行。 ???(2)发生页面故障时,增大M,调入新页,积累工作集。 ???(3)当缺页率趋于稳定(比如小于某个阈值)时,便完成了这一时段的工作集积累。此时内存的页面便是这一时段的工作集。 ???(4)此后若继续有页面故障,不再增加物理页框架,而要先淘汰某个页后再调入。同时不断地计算缺页率。 ???(5)当页面故障率超过某个阈值时,继续增大内存页框数,以便调整工作集尺寸,积累新的工作集。 5.3 页面淘汰算法 ?所谓淘汰算法就是当要访问的页面在外存而不在内存时,需要将其调入内存。如果此时内存中无空闲页面,则需将内存中某一页面淘汰掉。用来选择被淘汰页面的算法称作淘汰算法。 ????衡量算法优劣的测度是缺页率: ?f = F / P 其中P为进程的页面序列,|P|为总页面数,F为在|P|次访问中缺页次数。显然,f依赖于P以及分给该进程的页面数M。f越小,算法的性能越好。 一、先进先出算法(FIFO算法) 思想:当没有空闲页时,淘汰掉最先进入内存的页面,然后将新页写入。 例:假定页面序列P为7 0 1 2 0 3 0 4,M=3。 页面序列P × × × × × × × 7 M=3 7 0 缺页次数 7 0 1 2 0 3 0 4 7 0 1 0 1 2 0 1 2 1 2 3 2 3 0 3 0 4 缺页率=缺页次数/访问页面总次数 =7/8×100% =87.5% 一、先进先出算法(FIFO算法) FIFO算法评价: 优点:简单。 缺点:易于出现某个页面刚被淘汰又要 调入的现象,缺页率较高。 二、最久未使用淘汰算法(LRU算法) 思想:维护一个后进先出栈,依次将页面压入栈;当访问到某个不在内存的页面且不是新页时,则调整栈中元素的位置,使其成为栈顶;当访问某个不再内存且内存中没有该页时,从栈底(最久未被访问)调出一页,将新页压入栈顶。 二、最久未使用淘汰算法(LRU算法) 例:假定页面序列P为7 0 1 2 0 3 0 4,M=3 页面序列P × × × × × × 7 M=3 7 0
文档评论(0)