第6章 虚拟存储器管理ppt课件.ppt
《第6章 虚拟存储器管理ppt课件.ppt》由会员分享,可在线阅读,更多相关《第6章 虚拟存储器管理ppt课件.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 虚拟存储器管理第第6 6章章 虚拟存储器管理虚拟存储器管理操作系统(第四版)操作系统(第四版)第6章 虚拟存储器管理6.1 6.1 概述概述6.2 6.2 分页虚拟存储管理方式分页虚拟存储管理方式6.3 6.3 分段虚拟存储管理分段虚拟存储管理6.4 Linux6.4 Linux的内存管理的内存管理6.1 概述虚拟存储器就是使用虚拟技术从逻辑上对存储器进行扩充。虚拟存储器就是使用虚拟技术从逻辑上对存储器进行扩充。q概述概述 局部性原理局部性原理 一次性和驻留性严重地降低内存的利用率,显著地减一次性和驻留性严重地降低内存的利用率,显著地减少了系统吞吐量少了系统吞吐量 研究表明,程序在执行
2、过程中呈现局部性原理研究表明,程序在执行过程中呈现局部性原理 时间局部性时间局部性:一条指令被执行后,那么它可能很快会再一条指令被执行后,那么它可能很快会再次被执行次被执行 空间局部性空间局部性:若某一存储单元被访问,那么与该存储单若某一存储单元被访问,那么与该存储单元相邻的单元可能也会很快被访问元相邻的单元可能也会很快被访问 局部性原理使得虚拟存储技术的实现成为可能。一个局部性原理使得虚拟存储技术的实现成为可能。一个程序特别是一个大型程序的一部分装入内存是可以运行的程序特别是一个大型程序的一部分装入内存是可以运行的6.1 概述虚拟存储器的特征虚拟存储器的特征可以把一个程序分多次装入内存,每次
3、装入当前运行需可以把一个程序分多次装入内存,每次装入当前运行需要使用的部分要使用的部分多次性多次性;在程序执行过程中,可以把当前暂不使用的部分换出内在程序执行过程中,可以把当前暂不使用的部分换出内存,若以后需要时再换进内存存,若以后需要时再换进内存交换性即非驻留性交换性即非驻留性;程序在内存中可分段存放,每一段是连续的程序在内存中可分段存放,每一段是连续的离散性离散性。虚拟存储器还有一个最重要的特征虚拟存储器还有一个最重要的特征虚拟性虚拟性,从逻辑,从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。内存容量。 6.1 概述 虚拟存储
4、器定义虚拟存储器定义 所谓所谓虚拟存储器虚拟存储器,是指仅把程序的一部分装入内存便,是指仅把程序的一部分装入内存便可运行程序的存储器系统。具体地说,所谓虚拟存储器是指可运行程序的存储器系统。具体地说,所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统扩充的一种存储器系统 虚拟存储器并非可以无限大,其容量受外存大小和指虚拟存储器并非可以无限大,其容量受外存大小和指令中地址长度两方面的限制令中地址长度两方面的限制6.2 分页虚拟存储器q分页虚拟存储管理分页虚拟存储管理 基本原理基本原理 分页虚拟存储管理方式
5、是在分页系统的基础上,分页虚拟存储管理方式是在分页系统的基础上,增加增加了请求调页功能、页面置换功能了请求调页功能、页面置换功能所形成的虚拟存储器系统。所形成的虚拟存储器系统。 在分页虚拟存储管理时使用的页表,是在原来页表的在分页虚拟存储管理时使用的页表,是在原来页表的基础上发展起来的,包括以下基础上发展起来的,包括以下内容内容:物理块号、状态位、访:物理块号、状态位、访问位、修改位、外存地址问位、修改位、外存地址 6.2 分页虚拟存储器 缺页中断机构缺页中断机构 每当要访问的页面不在内存时,便产生一缺页中断,请每当要访问的页面不在内存时,便产生一缺页中断,请求操作系统把所缺页面调入内存。,请
6、求操作系统把所缺页求操作系统把所缺页面调入内存。,请求操作系统把所缺页面调入内存。缺页中断作为中断,它同样需要经历诸如保护面调入内存。缺页中断作为中断,它同样需要经历诸如保护CPUCPU现场环境、分析中断原因、转入缺页中断处理程序进行现场环境、分析中断原因、转入缺页中断处理程序进行处理、恢复处理、恢复CPUCPU环境等几个步骤。环境等几个步骤。 缺页中断与与一般的中断的区别缺页中断与与一般的中断的区别 在指令执行期间产生和处理中断信号。在指令执行期间产生和处理中断信号。 一条指令在执行期间,可能产生多次缺页中断。一条指令在执行期间,可能产生多次缺页中断。6.2 分页虚拟存储器 地址变换机构地址
7、变换机构 在分页存储管理方式中的地址变换机构的基础上,增加在分页存储管理方式中的地址变换机构的基础上,增加了产生和处理缺页中断,以及从内存中换出一页等功能。具体了产生和处理缺页中断,以及从内存中换出一页等功能。具体过程:过程: - - 保存当前进程的保存当前进程的CPUCPU现场环境,从辅存中找到该页;现场环境,从辅存中找到该页; - - 查看当前内存是否有空闲空间调入该页,如果有则启动查看当前内存是否有空闲空间调入该页,如果有则启动I/OI/O,将该页由辅存调入内存,同时修改页表,再按分页存储,将该页由辅存调入内存,同时修改页表,再按分页存储管理方式的地址变换过程转换地址;如果内存已满,则按
8、照某管理方式的地址变换过程转换地址;如果内存已满,则按照某种算法选择一页作为淘汰页调出,腾出空间后再调入。当然如种算法选择一页作为淘汰页调出,腾出空间后再调入。当然如果被淘汰的页在内存中已经被修改过,则需将该页写回辅存。果被淘汰的页在内存中已经被修改过,则需将该页写回辅存。6.2 分页虚拟存储器 页面置换算法页面置换算法 如果内存空间己被装满而又要装入新页时,必须如果内存空间己被装满而又要装入新页时,必须按某种算法将内存中的一些页淘汰出去,以便调入新按某种算法将内存中的一些页淘汰出去,以便调入新页,这个工作称为页,这个工作称为“页面置换页面置换”。选择被淘汰页的方。选择被淘汰页的方法成为法成为
9、页面置换算法页面置换算法。6.2 分页虚拟存储器最佳置换算法最佳置换算法 算法:淘汰那些以后永不使用,或者是在最长时间内不再算法:淘汰那些以后永不使用,或者是在最长时间内不再被访问的页被访问的页 无法实现的,只能作为其它置换算法的衡量标准无法实现的,只能作为其它置换算法的衡量标准 6.2 分页虚拟存储器先进先出算法先进先出算法 算法:每次淘汰最先进入内存的页算法:每次淘汰最先进入内存的页 优点:简单,易于实现优点:简单,易于实现 缺点:效率不高,可能产生缺点:效率不高,可能产生“抖动抖动”现象现象 思考:如何实现?思考:如何实现?6.2 分页虚拟存储器最近最久未使用(最近最久未使用(LRULR
10、U)算法)算法 算法:淘汰那些在最近一段时间里最久未被使用的一页算法:淘汰那些在最近一段时间里最久未被使用的一页 LRULRU算法是较好的一个算法,但是开销太大,要求系统算法是较好的一个算法,但是开销太大,要求系统有较多的支持硬件有较多的支持硬件( (移位寄存器或栈)移位寄存器或栈)6.2 分页虚拟存储器实现方案:实现方案: - - 栈式算法栈式算法:在内存维护一张进程所有页的链表,表中各项:在内存维护一张进程所有页的链表,表中各项按访问时间先后排序,最近访问的页排在表头,最久末用的按访问时间先后排序,最近访问的页排在表头,最久末用的页排在表尾。每当要置换一页时,必须对链表中的各项进行页排在表
11、尾。每当要置换一页时,必须对链表中的各项进行修改。修改。 - - 改进改进使用链表时费时方法,可使用一个特殊硬件实现使用链表时费时方法,可使用一个特殊硬件实现LRULRU。 系统为每个在内存中的页面配置一个系统为每个在内存中的页面配置一个移位寄存器移位寄存器,可,可表示为表示为R=Rn-1Rn-2R=Rn-1Rn-2R3R2R1R3R2R1 当进程访问某页时,便将相应的寄存器的最高位(当进程访问某页时,便将相应的寄存器的最高位(Rn-Rn-1 1)置)置1 1;定时信号将每隔一定时间将寄存器右移一位。;定时信号将每隔一定时间将寄存器右移一位。 具有最小数的寄存器所对应的页面,就是最近最久未具有
12、最小数的寄存器所对应的页面,就是最近最久未使用的页。使用的页。6.2 分页虚拟存储器 利用一个特殊的栈来保存当前使用的各个页面的页面利用一个特殊的栈来保存当前使用的各个页面的页面号。每当进程访问某页面时,便将该页面的页面号从号。每当进程访问某页面时,便将该页面的页面号从栈中移出,将它压入栈顶。栈中移出,将它压入栈顶。 栈底就是最近最久未使用页面的页面号。栈底就是最近最久未使用页面的页面号。 简单简单ClockClock置换算法(最近未使用算法置换算法(最近未使用算法NRCNRC) 算法:每页设置一个访问位,置换算法在选择一页淘算法:每页设置一个访问位,置换算法在选择一页淘汰时,只须检查其访问位
13、,如果是汰时,只须检查其访问位,如果是0 0,就选择该页换出;若,就选择该页换出;若为为1 1,则重新将它复,则重新将它复0 0 ,检查下一个页面。当检查到队列中,检查下一个页面。当检查到队列中的最后的最后个页面时,若其访问值仍为个页面时,若其访问值仍为1 1、则再返回到队首再、则再返回到队首再去检查第一个页面去检查第一个页面 该算法只能考虑该页面是否被访问过该算法只能考虑该页面是否被访问过 6.2 分页虚拟存储器图6-2 简单Clock置换算法置换流程置换流程6.2 分页虚拟存储器 改进型改进型ClockClock置换算法置换算法 算法:除了考虑到页面的使用情况外,还增加了置换代算法:除了考
14、虑到页面的使用情况外,还增加了置换代价,选择换出页面时,价,选择换出页面时,既要是未使用过的页面,又要是未被修既要是未使用过的页面,又要是未被修改过的页面改过的页面把同时满足两条件的页面作为首选被淘汰的页。把同时满足两条件的页面作为首选被淘汰的页。 该算法与简单该算法与简单ClockClock算法比较,可减少磁盘的算法比较,可减少磁盘的I/OI/O操作次操作次数数 ,但实现该算法本身的开销将有所增加,但实现该算法本身的开销将有所增加 具体算法:具体算法: 由访问位由访问位A A和修改位和修改位M M可以组合成可以组合成4 4种类型的页面:种类型的页面:6.2 分页虚拟存储器 1 1类(类(A=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 虚拟存储器管理ppt课件 虚拟 存储器 管理 ppt 课件
限制150内