第四章 虚拟存储管理优秀PPT.ppt
《第四章 虚拟存储管理优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第四章 虚拟存储管理优秀PPT.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 虚拟存储管虚拟存储管理理第一页,本课件共有70页第第4 4章章 存储管理存储管理4.1 4.1 存储管理的原理存储管理的原理 4.2 4.2 连续分配存储管理连续分配存储管理 4.3 4.3 离散分配存储管理离散分配存储管理4.4 4.4 内核主存管理内核主存管理4.5 4.5 虚拟存储技术虚拟存储技术4.6 4.6 虚拟页式存储管理虚拟页式存储管理 4.7 4.7 虚拟段式存储管理虚拟段式存储管理4.8 4.8 存储管理实例存储管理实例第二页,本课件共有70页4.5 4.5 虚拟存储技术虚拟存储技术4.5.1 4.5.1 程序局部性原理程序局部性原理 4.5.2 4.5.2 虚
2、拟存储的实现虚拟存储的实现&虚拟内存技术(Virtual Memory)(Virtual Memory)诞生于1961年。&广泛使用是从上个世纪70年代初以后,今天几乎所有的操作系统都采用虚拟内存技术来管理内存。&这是一种利用虚拟存储器来逻辑扩充物理内存的技术。其基本思想是用用软软硬硬件件技技术术把把内内存存与与外外存存这这两两级级存存储储器器当当成成一一级级存存储储器器来来用用,从从而而给给用用户户提提供供了了一一个个比比内内存存也也比比任任何何应应用用程程序序大大得得多多的的虚虚拟拟存存储储器器,使使得得用用户户编编程程时时再再也也不不用用考考虑虑内内存存大大小小的的限限制制了了,给给用用
3、户户编编程程带来极大的方便。带来极大的方便。&虚拟内存技术的实现也利用了自动覆盖和交换技术。第三页,本课件共有70页4.5.1 4.5.1 程序局部性原理程序局部性原理&1.1.局部性原理局部性原理(principle of locality):指程序在执行过程中的一个较短时期内,所执行的指令地址和指令的操作数地址,分别局限于一定区域。&2.2.局部性主要表现:局部性主要表现:F时间局部性:时间局部性:是指一段指令在某一时间段内会被反复是指一段指令在某一时间段内会被反复执行。即程序某一部分的数据或指令被重复性地访执行。即程序某一部分的数据或指令被重复性地访问,它们对应于程序结构中的循环、子程序
4、、常用问,它们对应于程序结构中的循环、子程序、常用到的变量及数据等到的变量及数据等;F空间局部性空间局部性:是指一旦某一个存储单元被访问,那么是指一旦某一个存储单元被访问,那么它附近的单元也将很快被访问。这对应于程序结构它附近的单元也将很快被访问。这对应于程序结构中的顺序执行的指令、线性数据结构以及在相邻位中的顺序执行的指令、线性数据结构以及在相邻位置存放的数据或变量等。而程序中的分支和调用子置存放的数据或变量等。而程序中的分支和调用子程序只是将程序的访问空间从一处移到另外一处,程序只是将程序的访问空间从一处移到另外一处,仍具有局部性。仍具有局部性。第四页,本课件共有70页F排他性:排他性:程
5、序运行不但体现在时间、空间的局部性,还体现在某些程序段执行的排他性。即程序设计者编程时要考虑程序执行时所能遇到的各种情况,但具体到一次程序的执行,并不会发生所有的状况。因而某些程序段在进程整个运行期间,可能根本因而某些程序段在进程整个运行期间,可能根本不使用,如出错处理、分支语句等。不使用,如出错处理、分支语句等。因而,没有用到的程序段就不必调入内存。另外,有些程序段仅执行一次,以后就再也不会用到,这样的程序段也没有必要一直占用内存空间。&综上所述:综上所述:程序只要装入内存一部分就可以运行,当程序只要装入内存一部分就可以运行,当用到不在内存的部分时,再将其装入内存。用到不在内存的部分时,再将
6、其装入内存。换句话就换句话就是说程序全部装入内存并不是程序运行的必要条件。是说程序全部装入内存并不是程序运行的必要条件。第五页,本课件共有70页4.5.2 4.5.2 虚拟存储的实现虚拟存储的实现1.1.虚拟存储技术虚拟存储技术如果把程序部分装入内存,其余大部分放在外存,而程序又能运行,这如果把程序部分装入内存,其余大部分放在外存,而程序又能运行,这样我们就拥有了一个比有限的实际内存空间大得多的、逻辑的虚拟内存样我们就拥有了一个比有限的实际内存空间大得多的、逻辑的虚拟内存空间。空间。即用大容量的外存来模拟内存,这种存储模式就称之为虚拟存储即用大容量的外存来模拟内存,这种存储模式就称之为虚拟存储
7、技术。技术。2.2.虚拟技术实现的关键虚拟技术实现的关键(1)怎样才能发现欲执行的指令或数据不在内存怎样才能发现欲执行的指令或数据不在内存?简单有效方法就是进行标识简单有效方法就是进行标识(2)怎样将不在内存的部分调入进来怎样将不在内存的部分调入进来。通常系统采用中断技术完成调入工作。通常系统采用中断技术完成调入工作。(3)在内存中的作业如何组织?在内存中的作业如何组织?一个进程可被分为多次调入内存,这样很难保证进程在内存中占据一个一个进程可被分为多次调入内存,这样很难保证进程在内存中占据一个连续的空间,实际上进程在内存中是离散存储的。连续的空间,实际上进程在内存中是离散存储的。第六页,本课件
8、共有70页虚拟技术进一步说明虚拟技术进一步说明因而因而系统要提供必要的硬件支持系统要提供必要的硬件支持,如虚拟页式存,如虚拟页式存储中的页表机制、缺页中断机构以及相应的地储中的页表机制、缺页中断机构以及相应的地址变换机构。址变换机构。虚拟存储技术是虚拟存储技术是将内存与外存有机地结合在一起,将内存与外存有机地结合在一起,从而得到一个容量很大的虚拟空间。从而得到一个容量很大的虚拟空间。使用户感到使用户感到有一个很大的内存,不用再考虑内存的容量限有一个很大的内存,不用再考虑内存的容量限制。制。虚存虽然比内存要大得多,但不可能无限大,虚存虽然比内存要大得多,但不可能无限大,其大小要受到外存空间的限制
9、以及其大小要受到外存空间的限制以及CPU地址地址所能表示范围的限制。所能表示范围的限制。第七页,本课件共有70页&大程序:可在较小的可用内存中执行较大的用户程序;&大的用户空间:提供给用户可用的虚拟内存空间通常大于物理内存(real memory)&并发:可在内存中容纳更多程序并发执行;&易于开发:与覆盖技术比较,不必影响编程时的程序结构3.3.引入虚拟存储技术的好处引入虚拟存储技术的好处F总容量不超过物理内存和外存交换区容量之和。其运总容量不超过物理内存和外存交换区容量之和。其运行速度接近于内存,每位的成本又接近于外存,是一种行速度接近于内存,每位的成本又接近于外存,是一种性能非常优越的存储
10、管理技术性能非常优越的存储管理技术 第八页,本课件共有70页4.4.虚拟存储技术的特征虚拟存储技术的特征&不连续性不连续性:物理内存分配的不连续,虚拟地址空间使用的不连续(数据段和栈段之间的空闲空间,共享段和动态链接库占用的空间)&部分交换:部分交换:与交换技术相比较,虚拟存储的调入和调出是对部分虚拟地址空间进行的;&大空间:大空间:通过物理内存和快速外存相结合,提供大范围的虚拟地址空间虚拟存储技术的种类:虚拟存储技术的种类:虚拟页式虚拟段式虚拟段页式第九页,本课件共有70页4.6 4.6 虚拟页式存储管理虚拟页式存储管理 4.6.1 4.6.1 虚拟页式存储的实现虚拟页式存储的实现 4.6.
11、2 4.6.2 页面分配策略页面分配策略 4.6.3 4.6.3 页面置换方法页面置换方法4.6.4 4.6.4 虚拟页式存储的优缺点虚拟页式存储的优缺点第十页,本课件共有70页返回&1.1.基本原理基本原理&系统自动地将作业的地址空间分页,将系统的主存空间分块,页与块等大小,在作业运行前,只把初始需要的一部分页面装入内存块里,运行中需要访问自己地址空间中的但当前不在内存的页面时产生缺页中断,由缺页中断服务程序将所需的页面调入内存,若此时内存中没有空闲物理块安置请求调入的新页面,则系统按预定的置换策略自动选择一个或一些在内存的页面,把它们换出到外存。&这里的请求调入和置换功能请求调入和置换功能
12、都是比实分页存储管理增加的内容,是实现虚拟存储的主要功能。4.6.1 4.6.1 虚拟页式存储的实现虚拟页式存储的实现 第十一页,本课件共有70页页面的动态调度步骤:页面的动态调度步骤:1、找到被访问页面在外存的地址;、找到被访问页面在外存的地址;2、在内存中找一个空闲页面;、在内存中找一个空闲页面;(1)如果没有,按照淘汰算法选择一个内存页)如果没有,按照淘汰算法选择一个内存页面;面;(2)将此内存页面写回外存,修改页表及页面)将此内存页面写回外存,修改页表及页面分配表;分配表;3、读入所需的页面,修改页表及页面分配表;、读入所需的页面,修改页表及页面分配表;4、重新启动进程执行被中断的指令
13、。、重新启动进程执行被中断的指令。第十二页,本课件共有70页&标记某页是否在内存,用于查询标记某页是否在内存,用于查询要访问的要访问的页在不在内存。页表如下:页在不在内存。页表如下:页号 物理块号 状态位P访问位A修改位M外存地址2.2.页表机制页表机制其中:外存地址指出该页在外存的地址,供调入该页时用;状态为指示该页是否在内存,供程序访问时用,也是检查是否缺页的标志位,如置1表示在内存;访问位或访问字段则是该页被访问过的标志或该页被访问过的次数;修改位表示该页是否被修改过;存取控制字段则是用来限制页面被安全共享的。第十三页,本课件共有70页3.3.动态地址变换动态地址变换&在虚拟页式存储中,
14、应采用动态地址变换方式,因为某一欲执行的在虚拟页式存储中,应采用动态地址变换方式,因为某一欲执行的指令可能不在内存,只能在指令执行之前完成地址变换。指令可能不在内存,只能在指令执行之前完成地址变换。任一作任一作业都应在自己的虚拟地址空间中执行,业都应在自己的虚拟地址空间中执行,所以要为用户作业设置所以要为用户作业设置一个虚拟地址指针一个虚拟地址指针VP,虚拟地址依然是由页号和页内偏移地址组,虚拟地址依然是由页号和页内偏移地址组成的。成的。&系统总是执行系统总是执行VP虚指针所指向的指令,为了将虚拟地址虚指针所指向的指令,为了将虚拟地址VP变变换为对应的实存地址,因此换为对应的实存地址,因此先要
15、查找页表。若从页表中查出先要查找页表。若从页表中查出此页不在内存(状态位为此页不在内存(状态位为0),则产生一个缺页中断。),则产生一个缺页中断。此时,此时,进程暂停当前指令执行,进程暂停当前指令执行,CPU转去执行缺页中断处理程序。转去执行缺页中断处理程序。若该页已在内存,若该页已在内存,则指令的地址映射过程与页式存储是一样的。则指令的地址映射过程与页式存储是一样的。即将块号和页内地址相并接形成物理地址即将块号和页内地址相并接形成物理地址IP,处理器再从,处理器再从IP中取指令执行。中取指令执行。第十四页,本课件共有70页4.4.缺页中断缺页中断第十五页,本课件共有70页5.5.缺页率缺页率
16、&虽然通过缺页中断将所需要的页调入内存,但缺页中断的频虽然通过缺页中断将所需要的页调入内存,但缺页中断的频繁发生会严重影响程序执行的效率。为了标识缺页中断发生繁发生会严重影响程序执行的效率。为了标识缺页中断发生的频度,可以引入缺页率来表示。的频度,可以引入缺页率来表示。&设进程在其执行期间共进行了设进程在其执行期间共进行了S S次访页操作,其中成功次访页操作,其中成功访页次数为访页次数为A A(访问时该页在主存),不成功的访页次数(访问时该页在主存),不成功的访页次数为为B B(即发生了缺页中断),显然有:(即发生了缺页中断),显然有:S=A+BS=A+B,&则该进程的缺页率则该进程的缺页率f
17、 f定义为:定义为:f fB/SB/S。&显然缺页率越低越好。显然缺页率越低越好。第十六页,本课件共有70页4.6.2 4.6.2 页面分配策略页面分配策略&虚拟存储管理在进行页面分配时,要考虑这样的虚拟存储管理在进行页面分配时,要考虑这样的问题:空闲页面如何管理;采用什么样的分配策略;问题:空闲页面如何管理;采用什么样的分配策略;为进程分配多少物理块比较合适;在什么时间进行为进程分配多少物理块比较合适;在什么时间进行页面分配等。页面分配等。第十七页,本课件共有70页1.1.空闲页面管理空闲页面管理&同页式存储管理相似,虚拟存储方式下的空闲页面的管理也可以同页式存储管理相似,虚拟存储方式下的空
18、闲页面的管理也可以采用采用位示图位示图或或空闲页面链空闲页面链的形式。的形式。&由于主存中所有进程的虚拟地址空间之和远大于主存空间,因此由于主存中所有进程的虚拟地址空间之和远大于主存空间,因此进程执行时常发生缺页中断,这样不断地调入新页,很快就使主进程执行时常发生缺页中断,这样不断地调入新页,很快就使主存空间饱和。以后再发生缺页时,要先淘汰一页才能装入新页,存空间饱和。以后再发生缺页时,要先淘汰一页才能装入新页,这使得这使得缺页处理时间过长,减缓了进程的执行速度,从而影响到系统缺页处理时间过长,减缓了进程的执行速度,从而影响到系统的性能。的性能。&在实际的系统中,总是维持一定数量的空闲块,而不
19、是耗尽所在实际的系统中,总是维持一定数量的空闲块,而不是耗尽所有的空闲块。即有的空闲块。即空闲块数可以在某一区间浮动空闲块数可以在某一区间浮动,一旦空闲块数小,一旦空闲块数小于下限值,系统就进行页面置换,以释放出一些空闲块,使得总于下限值,系统就进行页面置换,以释放出一些空闲块,使得总的空闲块数不超过系统规定的上限值即可。即系统设置专门的独的空闲块数不超过系统规定的上限值即可。即系统设置专门的独立进程负责页面置换,以保证链表的适当规模。立进程负责页面置换,以保证链表的适当规模。第十八页,本课件共有70页2 2 分配策略(内存)分配策略(内存)&可变分配:可变分配:是指一个进程所拥有的物理块数是
20、不定的,这种分是指一个进程所拥有的物理块数是不定的,这种分配方式称之为可变分配。配方式称之为可变分配。&固定分配固定分配是指为每个进程分配一固定页数的内存空间,在整个是指为每个进程分配一固定页数的内存空间,在整个运行期间都不再改变。运行期间都不再改变。&平均分配算法,平均分配算法,是将系统中所有可供分配的物理块,平均分是将系统中所有可供分配的物理块,平均分配给每一个进程。例如,当系统中有配给每一个进程。例如,当系统中有80个空闲块,个空闲块,4个进程时,个进程时,每个进程可分得每个进程可分得20个物理块。这种平均分配方式因其未考虑各个物理块。这种平均分配方式因其未考虑各进程本身的大小,会造成事
21、实上的不公平。如有一个进程其大进程本身的大小,会造成事实上的不公平。如有一个进程其大小为小为100页,只分配给它页,只分配给它20个块,这样它必将会有很高的缺页率;个块,这样它必将会有很高的缺页率;而另一个进程只有而另一个进程只有10页,却有页,却有10个块在闲置未用。所以在平均的个块在闲置未用。所以在平均的思想下,还要考虑进程的大小。思想下,还要考虑进程的大小。第十九页,本课件共有70页&按比例分配算法,按比例分配算法,根据进程的大小按比例分配空闲块。设系根据进程的大小按比例分配空闲块。设系统中现有统中现有m个进程、个进程、n个空闲块,每个进程拥有的页数为个空闲块,每个进程拥有的页数为Si,
22、则,则系统中所有进程页数之和为:系统中所有进程页数之和为:S=S1+S2+S3+Sm 则为每个进程分配的物理块数为:则为每个进程分配的物理块数为:Bi=(Si/S)n,Bi应向下取整。应向下取整。&优先权分配算法,优先权分配算法,为优先权高的作业分配较多的内存空间,为优先权高的作业分配较多的内存空间,这样可以使重要或紧迫的任务尽快完成。这时可以将内存中这样可以使重要或紧迫的任务尽快完成。这时可以将内存中的空闲块分成两部分:一部分按比例分配给各进程,另一部的空闲块分成两部分:一部分按比例分配给各进程,另一部分则根据各进程的优先权,适当地为其增加相应份额。分则根据各进程的优先权,适当地为其增加相应
23、份额。第二十页,本课件共有70页2 2 分配策略(外存)分配策略(外存)1、静态分配、静态分配 一个进程在运行之前,将其页面全部装一个进程在运行之前,将其页面全部装入外存。当某一外存页面被调入内存时,入外存。当某一外存页面被调入内存时,并不释放所占用的外存页面。并不释放所占用的外存页面。2、动态分配、动态分配 一个进程在运行之前,仅将未装入内存一个进程在运行之前,仅将未装入内存的那部分页面装入外存。当某一外存页的那部分页面装入外存。当某一外存页面被调入内存时,释放所占用的外存页面被调入内存时,释放所占用的外存页面。面。第二十一页,本课件共有70页3.3.工作集工作集&(1)(1)为保证进程能正
24、常运行最少需要多少物理块。为保证进程能正常运行最少需要多少物理块。从理论上讲,进程只要获得从理论上讲,进程只要获得一个物理块一个物理块就可以运行。但是进程正常就可以运行。但是进程正常运行所需的最少物理块数与计算机的硬件结构有关,取决于指令的格运行所需的最少物理块数与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。式、功能和寻址方式。由于分页是系统的行为,由于分页是系统的行为,可能会出现下面可能会出现下面的情景:的情景:由此可见,由此可见,系统应保证任一条指令执行系统应保证任一条指令执行时,其所涉及的虚拟地址所在的页时,其所涉及的虚拟地址所在的页都应在内存中。这个页数就是进程都应在内存中
25、。这个页数就是进程所需要的最小块数所需要的最小块数,若系统为进程,若系统为进程所分配的物理块数少于此值时,进所分配的物理块数少于此值时,进程将无法运行。程将无法运行。123456涉涉及及6 6次次缺缺页页中中断断的的指指令令指令指令copy A to B数据数据A:数据数据B:第二十二页,本课件共有70页&(2)(2)为使进程能有效地工作,应为它分配多少物理块合适为使进程能有效地工作,应为它分配多少物理块合适&随着为每个进程所分配物理块数目的减少,将使进程执行中的缺页率随着为每个进程所分配物理块数目的减少,将使进程执行中的缺页率提高,导致非生产性开销过大,从而降低了进程的执行速度,严重时提高,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 虚拟存储管理优秀PPT 第四 虚拟 存储 管理 优秀 PPT
限制150内