(精品)第8章 虚拟存储管理.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(精品)第8章 虚拟存储管理.ppt》由会员分享,可在线阅读,更多相关《(精品)第8章 虚拟存储管理.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章 虚拟存储管理技术虚拟存储管理技术引言引言81 虚拟存储器的基本概念虚拟存储器的基本概念82 请求分页式存储管理方式请求分页式存储管理方式83 请求分段式存储管理方式请求分段式存储管理方式84 Linux存储管理存储管理85 Windows存储管理存储管理引言引言 上一章介绍了实存储管理技术,各种实存储管理技上一章介绍了实存储管理技术,各种实存储管理技术有一个共同的特点,即它们都要求把进程全部装入内术有一个共同的特点,即它们都要求把进程全部装入内存才能运行。在运行过程中,往往可能出现两种情况:存才能运行。在运行过程中,往往可能出现两种情况:u要求运行的进程所需的内存空间之和大于系统的
2、内存空要求运行的进程所需的内存空间之和大于系统的内存空间间,只能有部分进程能够装入内存运行,而其它进程只,只能有部分进程能够装入内存运行,而其它进程只有留在外存中等待;有留在外存中等待;u逻辑地址空间大于存储空间的进程无法在系统中运行。逻辑地址空间大于存储空间的进程无法在系统中运行。为了解决以上问题,可有两种解决方案:一是从物为了解决以上问题,可有两种解决方案:一是从物理上增加内存容量。但这受到机器寻址能力的限制,不理上增加内存容量。但这受到机器寻址能力的限制,不能无限扩充,而且无疑会增加系统成本;二是从逻辑上能无限扩充,而且无疑会增加系统成本;二是从逻辑上扩充内存容量,这就是本章所要讨论的扩
3、充内存容量,这就是本章所要讨论的“虚拟存储虚拟存储”管管理技术理技术。81 虚拟存储器的基本概念虚拟存储器的基本概念 虚拟存储管理要研究的问题是:虚拟存储管理要研究的问题是:1.1.作业信息不全部装入主存,能否保证作业的正确运行作业信息不全部装入主存,能否保证作业的正确运行?回答是肯定的回答是肯定的,1968,1968年年P.DenningP.Denning研究了程序执行时研究了程序执行时的局部性原理。的局部性原理。2.2.以以CPUCPU时间和外存空间换取昂贵内存空间,如何进行时间和外存空间换取昂贵内存空间,如何进行动态调度?动态调度?81 虚拟存储器的基本概念虚拟存储器的基本概念程序的局部
4、性原理:程序的局部性原理:指程序在执行过程中的一个较短时间内,所执行指程序在执行过程中的一个较短时间内,所执行的指令地址或操作数地址分别局限于一定的存储区域的指令地址或操作数地址分别局限于一定的存储区域中。具体地表现为中。具体地表现为时间局部性时间局部性和和空间局部性空间局部性。811 局部性原理局部性原理 n程序执行呈现局部性规律的原因:程序执行呈现局部性规律的原因:程序执行时,大多数情况下是顺序执行的。程序执行时,大多数情况下是顺序执行的。很少出现连续的过程调用,相反,程序中过程调用很少出现连续的过程调用,相反,程序中过程调用的深度限制在小范围内,一段时间内,指令引用被的深度限制在小范围内
5、,一段时间内,指令引用被局限在很少几个过程中局限在很少几个过程中。程序中有许多循环语句,这些语句会重复多次执行。程序中有许多循环语句,这些语句会重复多次执行。程序中对数据结构的操作,往往局限在很小的范围程序中对数据结构的操作,往往局限在很小的范围内。内。811 局部性原理局部性原理 n局部性原理的表现形式:局部性原理的表现形式:u时间局限性:时间局限性:如果某条指令被执行,则在不久的如果某条指令被执行,则在不久的将来,该指令可能被再次执行;如果某个数据结将来,该指令可能被再次执行;如果某个数据结构被访问,则在不久的将来,该数据结构可能再构被访问,则在不久的将来,该数据结构可能再次被访问。产生时
6、间局限性的主要原因是次被访问。产生时间局限性的主要原因是程序中程序中存在着大量的循环操作存在着大量的循环操作。u空间局限性:空间局限性:一旦程序访问了某个存储单元,则一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也可能被访问,在不久的将来,其附近的存储单元也可能被访问,即程序在一段时间内所访问的地址,可能集中在即程序在一段时间内所访问的地址,可能集中在一定的范围内。产生空间局限性的主要原因是一定的范围内。产生空间局限性的主要原因是程程序的顺序执行序的顺序执行。n实现虚拟存储器的理论基础:实现虚拟存储器的理论基础:局部性原理。局部性原理。812 虚拟存储器虚拟存储器 n实现方法:实
7、现方法:一个进程在运行之时,没有必要全部装一个进程在运行之时,没有必要全部装入内存,而只把当前运行所需要的页(段)装入内入内存,而只把当前运行所需要的页(段)装入内存便可启动运行,而其余部分则存放在磁盘上。程存便可启动运行,而其余部分则存放在磁盘上。程序在运行时,如果所需要的页(段)已经调入内存,序在运行时,如果所需要的页(段)已经调入内存,便可以继续执行下去。如果所需要的页(段)不在便可以继续执行下去。如果所需要的页(段)不在内存,此时程序内存,此时程序应利用操作系统所提供的请求调页应利用操作系统所提供的请求调页(段)功能,将该页(段)调入内存,以使程序能(段)功能,将该页(段)调入内存,以
8、使程序能够运行下去够运行下去。如果此时分配给该程序的内存已全部。如果此时分配给该程序的内存已全部占用,不能装入新的页(段),则需要占用,不能装入新的页(段),则需要利用系统的利用系统的置换功能,把内存中暂时不用的页(段)调出至磁置换功能,把内存中暂时不用的页(段)调出至磁盘上盘上,腾出足够的内存空间,再将所要装入的页,腾出足够的内存空间,再将所要装入的页(段)调入内存,使程序能够继续运行下去。(段)调入内存,使程序能够继续运行下去。812 虚拟存储器虚拟存储器 n虚拟存储器的定义:虚拟存储器的定义:是指仅把进程的一部分是指仅把进程的一部分装入内存便可运行的存储器系统,它具有请装入内存便可运行的
9、存储器系统,它具有请求调入功能和置换功能,能从逻辑上对内存求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。容量进行扩充的一种存储器系统。n虚拟存储器的逻辑容量:虚拟存储器的逻辑容量:虚拟存储器的逻辑虚拟存储器的逻辑容量由系统的寻址能力和外存容量之和所决容量由系统的寻址能力和外存容量之和所决定。定。812 虚拟存储器虚拟存储器虚拟存储管理主要采用以下技术实现:虚拟存储管理主要采用以下技术实现:请求分页虚拟存储管理请求分页虚拟存储管理 请求分段虚拟存储管理请求分段虚拟存储管理 请求段页式虚拟存储管理请求段页式虚拟存储管理82 请求分页式存储管理方式请求分页式存储管理方式 请请求
10、求分分页页式式存存储储管管理理是是在在分分页页式式存存储储管管理理的的基基础础上上,增增加加了了请请求求调调页页功功能能、页页面面置置换换功功能能而而形形成成的的页页式式虚虚拟拟存存储储系系统统。它它是是目目前前常常用用的的一一种种虚虚拟拟存储器的方式。存储器的方式。82 请求分页式存储管理方式请求分页式存储管理方式基基本本原原理理:在在请请求求分分页页式式存存储储管管理理系系统统中中,进进程程运运行行之之前前将将一一部部分分页页面面装装入入内内存存,另另外外一一部部分分页页面面则则装装入入外外存存。在在进进程程运运行行过过程程中中,如如果果所所访访问问的的页页面面不不在在内内存存中中,则则发
11、发生生缺缺页页中中断断,进进入入操操作作系系统统,由由操操作作系系统统进行页面的动态调度。进行页面的动态调度。系统需要解决下面三个问题:系统需要解决下面三个问题:系统如何获知进程当前所需页面不在主存。系统如何获知进程当前所需页面不在主存。当发现缺页时,如何把所缺页面调入主存。当发现缺页时,如何把所缺页面调入主存。当主存中没有空闲的页框时,为了要接受一个新页,需要当主存中没有空闲的页框时,为了要接受一个新页,需要把把老的一页淘汰出去,老的一页淘汰出去,根据什么策略选择欲淘汰的页面根据什么策略选择欲淘汰的页面。82 1 请求分页式存储管理的基本概念请求分页式存储管理的基本概念 n其方法如下:其方法
12、如下:u找到被访问页面在外存中的地址;找到被访问页面在外存中的地址;u在内存中找一个空闲块,如果没有,则按照在内存中找一个空闲块,如果没有,则按照淘汰淘汰算法算法选择一个内存块,将此块内容写回外存,修选择一个内存块,将此块内容写回外存,修改改页表页表;u读入所需的页面,修改读入所需的页面,修改页表页表;u重新启动进程,执行被中断的指令。重新启动进程,执行被中断的指令。82 1 请求分页式存储管理的基本概念请求分页式存储管理的基本概念 n页表机制:页表机制:纯分页的页表只有两项:页号和物理块。纯分页的页表只有两项:页号和物理块。而请求分页存储管理增加了调入功能和置换功能,而请求分页存储管理增加了
13、调入功能和置换功能,故需在页表中增加若干项,供程序在换进换出时参故需在页表中增加若干项,供程序在换进换出时参考。下面所示是一请求分页系统中的页表:考。下面所示是一请求分页系统中的页表:页号页号物理块号物理块号 状态位状态位P 访问字段访问字段A 修改位修改位M 外存地址外存地址状态位状态位P:记录该页是否在内存。记录该页是否在内存。P=0该页在内存;该页在内存;P=1该页不在内存该页不在内存。访问字段访问字段A:记录该页多长时间没有被访问。记录该页多长时间没有被访问。修改位修改位M:记录该页在内存期间是否被修改过。记录该页在内存期间是否被修改过。M=1该页调入内存后被修改过该页调入内存后被修改
14、过;M=0该页调入内存后未被修改过。该页调入内存后未被修改过。外存地址:外存地址:该页在外存上的地址该页在外存上的地址82 1 请求分页式存储管理的基本概念请求分页式存储管理的基本概念 n请求分页存储管理示意图:请求分页存储管理示意图:物理地址空间物理地址空间页面映射表页面映射表存储空间存储空间页号页号 块号块号 状态状态作业作业10110430001作业作业20123作业作业3012341061032901101110321270041234567891011121382 1 请求分页式存储管理的基本概念请求分页式存储管理的基本概念 n地址变换机构:地址变换机构:请求分页系统中的地址变换机构
15、,是请求分页系统中的地址变换机构,是在分页系统的地址变换机构的基础上,为实现虚拟在分页系统的地址变换机构的基础上,为实现虚拟存储器而存储器而增加了产生和处理缺页中断、页面置换等增加了产生和处理缺页中断、页面置换等功能功能而形成的。下图给出了请求分页系统的地址变而形成的。下图给出了请求分页系统的地址变换过程。换过程。82 1 请求分页式存储管理的基本概念请求分页式存储管理的基本概念 否否否是是产生缺页中断否是否是程序请求访问一页页号页表长度?越界中断CPU检索快表页表项是否在快表中?访问页表页是否在内存中?修改快表修改访问位和修改位保留CPU现场缺页中断处理从外存中找到该页内存满否?选择一页换出
16、该页修改否?将该页写回外存CPU从外存读缺页启动I/O硬件形成物理地址地址变换结束将一页从外存换入内存修改页表是查快表查快表有登记有登记无登记无登记查页表查页表登记入快表登记入快表发缺页中断发缺页中断在主存在主存在辅存在辅存形成绝对地址形成绝对地址继续执行指令继续执行指令重新执行重新执行被中断指令被中断指令恢复现场恢复现场调整页表和调整页表和主存分配表主存分配表装入所需页面装入所需页面主存有空闲块主存有空闲块保护现场保护现场有有选择调出页面选择调出页面该页是否修改该页是否修改未修改未修改已修改已修改把该页写回把该页写回辅存相应位置辅存相应位置操作系统操作系统硬件硬件逻辑地址逻辑地址无无82 2
17、 页面分配策略页面分配策略 n内存页面分配策略:内存页面分配策略:u平均分配平均分配:将内存中的所有可供分配的物理块,将内存中的所有可供分配的物理块,平均分配给各个进程。这是最简单的分配方式,平均分配给各个进程。这是最简单的分配方式,它看起来很公平,但实际上很不公平,因为它没它看起来很公平,但实际上很不公平,因为它没有考虑进程的大小等因素。有考虑进程的大小等因素。u按进程大小比例分配按进程大小比例分配:系统按进程的大小按比例系统按进程的大小按比例分配物理块。若分配物理块。若m为可用物理块总和,为可用物理块总和,S为各进程为各进程页面总和,页面总和,si为第为第i个进程的页面数,则为第个进程的页
18、面数,则为第i个进个进程分配的页面数为:程分配的页面数为:u按进程优先级比例分配按进程优先级比例分配:为照顾重要的、紧迫的为照顾重要的、紧迫的进程,使其能够尽快的完成,可以为其分配较多进程,使其能够尽快的完成,可以为其分配较多的内存物理块。的内存物理块。82 2 页面分配策略页面分配策略 n外存块的分配策略:外存块的分配策略:u静态分配静态分配:一个进程在运行前,一个进程在运行前,将其所有页面全将其所有页面全部装入外存部装入外存。当某一外存页面被调入内存时,。当某一外存页面被调入内存时,所所占用外存页面并不释放占用外存页面并不释放。这样,当该页面以后被。这样,当该页面以后被淘汰时,如果它在内存
19、中未被修改过,则不必写淘汰时,如果它在内存中未被修改过,则不必写回外存,因为外存中有一个和它完全相同的副本,回外存,因为外存中有一个和它完全相同的副本,这可以减少因页面调度而引起的系统开销,代价这可以减少因页面调度而引起的系统开销,代价是牺牲一定的外存空间。是牺牲一定的外存空间。u动态分配动态分配:一个进程在运行前,一个进程在运行前,仅将未装入内存仅将未装入内存的那部分页面装入外存的那部分页面装入外存。当某一外存页面被调入。当某一外存页面被调入内存,释放所占用的外存空间。这样,当该页面内存,释放所占用的外存空间。这样,当该页面以后被淘汰时,不管它在内存中是否被修改过,以后被淘汰时,不管它在内存
20、中是否被修改过,都必须重新为其申请外存物理块,将该页重新写都必须重新为其申请外存物理块,将该页重新写回外存。这种方法的优点是节省外存空间,但会回外存。这种方法的优点是节省外存空间,但会增加由页面调度而引起的系统开销。增加由页面调度而引起的系统开销。82 3 页面调入时机页面调入时机 n请求调页策略:请求调页策略:发生缺页时,调入内存。根发生缺页时,调入内存。根据局部性原理据局部性原理,一段时间后一段时间后,缺页中断会下降到缺页中断会下降到很低水平很低水平,程序进入相对平稳阶段。程序进入相对平稳阶段。缺缺点点:处处理理缺缺页页中中断断和和调调页页的的系系统统开开销销较较大大,每次仅调一页每次仅调
21、一页,增加了磁盘增加了磁盘I/O次数。次数。n预调页策略:预调页策略:预计要访问的页,提前调入内预计要访问的页,提前调入内存。每次调入若干页面存。每次调入若干页面,而不是仅调一页。一而不是仅调一页。一次调入多页能减少磁盘次调入多页能减少磁盘I/O启动次数。启动次数。缺点:缺点:如果调入的一批页面中多数未被使用如果调入的一批页面中多数未被使用,则效率就很低了,可见预调页要建立在则效率就很低了,可见预调页要建立在预测预测的基础上的基础上82 4 页面置换算法页面置换算法目标:把目标:把未来不再使用未来不再使用的或的或短时间内不再使用短时间内不再使用的页调的页调出。出。最佳置换算法最佳置换算法OPT
22、先进先出置换算法先进先出置换算法FIFO最近最久未使用置换算法最近最久未使用置换算法LRU时钟置换算法时钟置换算法82 4 页面置换算法页面置换算法 n最佳置换算法(最佳置换算法(OPT,Optimal):):最佳置换算法置换最佳置换算法置换那些以后那些以后永不再使用的永不再使用的或者或者在最长的时间以后才会在最长的时间以后才会用到的用到的页面。显然,这种算法的缺页率最低。然而,页面。显然,这种算法的缺页率最低。然而,该算法只是一种理论上的算法,因为很难估计哪一该算法只是一种理论上的算法,因为很难估计哪一个页面是以后永远不再使用或在最长时间以后才会个页面是以后永远不再使用或在最长时间以后才会用
23、到的页面,所以,这种算法是不能实现的。尽管用到的页面,所以,这种算法是不能实现的。尽管如此,该算法仍然是有意义的,可以把它作为如此,该算法仍然是有意义的,可以把它作为衡量衡量其它算法优劣的一个标准其它算法优劣的一个标准。82 4 页面置换算法页面置换算法 【例8-1】假定系统为某进程分配了3个物理块,页面访问序列为:5、0、1、2、0、3、0、4、2、3、0、3、2、1、2、0、1、5、0、1。采用最佳置换算法,计算缺页中断次数和缺页中断率。解:页面置换过程如下表所示:页面访问序列页面访问序列501203042303212015015011133333333222255550000044400
24、00000000522222222221111111+-+-+-+-+-+-缺页中断次数=9缺页中断率=9/20=45%82 4 页面置换算法页面置换算法 n先进先出置换算法(先进先出置换算法(FIFO,First-In First-Out):先先进先出置换算法总是置换最先进入内存的页面。该进先出置换算法总是置换最先进入内存的页面。该算法实现简单,只须把一个进程已调入内存的页面,算法实现简单,只须把一个进程已调入内存的页面,按照进入内存的先后顺序排成一个队列,按照进入内存的先后顺序排成一个队列,当一个页当一个页面由外存调入内存时排入队尾,需要淘汰时取队首面由外存调入内存时排入队尾,需要淘汰时取
25、队首的页面的页面。82 4 页面置换算法页面置换算法 【例例8-2】假定系统为某进程分配了假定系统为某进程分配了3个物理块,个物理块,页面访问序列为:页面访问序列为:5、0、1、2、0、3、0、4、2、3、0、3、2、1、2、0、1、5、0、1。采用先进先出置换算法,。采用先进先出置换算法,计算缺页中断次数和缺页中断率。计算缺页中断次数和缺页中断率。解:页面置换过程如下表所示:解:页面置换过程如下表所示:页面访问序列页面访问序列50120304230321201501501223042300012225015011230423330111250500123042223000125+-+-+-+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品第8章 虚拟存储管理 精品 虚拟 存储 管理
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内