《虚拟存储管理》PPT课件_第1页
《虚拟存储管理》PPT课件_第2页
《虚拟存储管理》PPT课件_第3页
《虚拟存储管理》PPT课件_第4页
《虚拟存储管理》PPT课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第6章章 虚拟虚拟存储管理存储管理虚拟存储器的引入虚拟存储器的引入 请求页式存储管理请求页式存储管理 请求段式存储管理请求段式存储管理 1;.6.1虚拟存储器的引入虚拟存储器的引入前面介绍的存储管理方案要求作业全部装入内存才可运行。但这会出现两种情况:前面介绍的存储管理方案要求作业全部装入内存才可运行。但这会出现两种情况:有的作业因太大,内存装不下而无法运行。有的作业因太大,内存装不下而无法运行。系统中作业数太多,因系统容量有限只能让少数作业先运行。系统中作业数太多,因系统容量有限只能让少数作业先运行。2;.3局部性原理(理论基础)局部性原理(理论基础)1968年年P.Denning 提出提

2、出程序执行时,大多数情况下是顺序执行的。程序执行时,大多数情况下是顺序执行的。过程调用会使程序的执行轨迹从一部分内存区域转至另一部分区域,过程调用会使程序的执行轨迹从一部分内存区域转至另一部分区域, 但过程调用的深但过程调用的深度不会超过度不会超过5。程序中有许多循环语句,这些语句会重复多次执行。程序中有许多循环语句,这些语句会重复多次执行。程序中对数据结构的操作,往往局限在很小的范围内。程序中对数据结构的操作,往往局限在很小的范围内。局部性原理局部性原理4局部性的表现局部性的表现时间局部性时间局部性程序中的的某条指令一旦执行,不久后会再次执行。程序中的的某条指令一旦执行,不久后会再次执行。空

3、间局部性空间局部性程序一旦访问某存储单元,不久后会访问其附近的存储单元。程序一旦访问某存储单元,不久后会访问其附近的存储单元。5虚拟存储器的定义虚拟存储器的定义n基于局部性理论,程序在执行时常常会局部于某一存储单元附近。基于局部性理论,程序在执行时常常会局部于某一存储单元附近。n一个进程在运行时,没有必要将其全部装入内存,而仅将那些当前要运行的那部分装一个进程在运行时,没有必要将其全部装入内存,而仅将那些当前要运行的那部分装入内存,其余部分可以暂时留在磁盘。入内存,其余部分可以暂时留在磁盘。n当进程访问不在内存的那部分程序和数据时再将它调入内存。当进程访问不在内存的那部分程序和数据时再将它调入

4、内存。n如果此时内存已满,无法装入新的程序和数据,可以将暂时不用的部分程序和数据置如果此时内存已满,无法装入新的程序和数据,可以将暂时不用的部分程序和数据置换出去,腾出内存空间后再将需要的调入内存,使进程能继续运行。换出去,腾出内存空间后再将需要的调入内存,使进程能继续运行。6虚拟存储器的定义虚拟存储器的定义n这样一来,可以使得一个很大的程序在一个比较小的内存空间上运行;这样一来,可以使得一个很大的程序在一个比较小的内存空间上运行;n也可以使内存中同时装入更多的进程并发地执行。也可以使内存中同时装入更多的进程并发地执行。n从用户角度看,系统具有的内存容量要比实际大得多,所以称为虚拟存储器。从用

5、户角度看,系统具有的内存容量要比实际大得多,所以称为虚拟存储器。7虚拟存储器的定义虚拟存储器的定义 所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。离散性离散性作业不装入连续的存储空间,内存分配采用离散分配方作业不装入连续的存储空间,内存分配采用离散分配方多次性多次性一个作业被分割,被多次调入内存。一个作业被分割,被多次调入内存。对换性对换性作业在运行过程中换进、换出内存。作业在运行过程中换进、换出内存。虚拟性虚拟性从逻辑上扩充了内存的容量。从逻辑上扩充了内存的容量。虚拟存储器的特征虚拟存储器的特征8u将虚拟存储器用在页式存储管理系统中,进程的多个页

6、根据需要调入内存,当内存空将虚拟存储器用在页式存储管理系统中,进程的多个页根据需要调入内存,当内存空间紧张时再将暂时不用的页调出。间紧张时再将暂时不用的页调出。u因为页是根据需要请求调入的,因此被称为请求页式存储管理系统。因为页是根据需要请求调入的,因此被称为请求页式存储管理系统。u实现请求页式存储管理系统,需要一定的硬件支持。除了需要一定容量的内存和外存实现请求页式存储管理系统,需要一定的硬件支持。除了需要一定容量的内存和外存兑换区之外,还需要页表机制、缺页中断机构和地址变换机构。兑换区之外,还需要页表机制、缺页中断机构和地址变换机构。6.2请求页式存储管理请求页式存储管理9状态位状态位P:

7、记录该页是否在内存。记录该页是否在内存。P=1该页在内存;该页在内存; P=0该页不在内存。该页不在内存。访问字段访问字段A:记录该页在一段时间内被访问的次数。记录该页在一段时间内被访问的次数。修改位修改位M:记录该页在内存期间是否被修改过。记录该页在内存期间是否被修改过。M=1该页调入内存后被修改过该页调入内存后被修改过; M=0该页调入内存后未被修改过。该页调入内存后未被修改过。外存地址:外存地址: 该页在外存的地址。该页在外存的地址。 页号 存储块号 状态位P 访问字段A 修改位M 外存地址页表的扩充页表的扩充6.2请求页式存储管理请求页式存储管理10缺页中断机构缺页中断机构主要表现在(

8、与一般中断的主要区别):主要表现在(与一般中断的主要区别):在指令执行期间产生和处理中断信号。在指令执行期间产生和处理中断信号。通常通常CPU外部中断,是在每条指令执行完毕后去检查是否有中断请求到外部中断,是在每条指令执行完毕后去检查是否有中断请求到达。而缺页中断是在指令执行期间,发现所要访问的指令或数据不在内存达。而缺页中断是在指令执行期间,发现所要访问的指令或数据不在内存时产生和处理。时产生和处理。11缺页中断机构缺页中断机构主要表现在(与一般中断的主要区别):主要表现在(与一般中断的主要区别):一条指令执行期间,可能产生多次缺页中断一条指令执行期间,可能产生多次缺页中断。基于这些特性,系

9、统中的硬件机构应能够保存多次中断时的状态,并保存基于这些特性,系统中的硬件机构应能够保存多次中断时的状态,并保存最后能返回到中断前产生缺页中断的指令处继续执行。最后能返回到中断前产生缺页中断的指令处继续执行。12地址变换机构地址变换机构n请求页式存储管理系统的地址变换机构,是在页式存储管理系统基础之上,为实现虚拟存请求页式存储管理系统的地址变换机构,是在页式存储管理系统基础之上,为实现虚拟存储器而增加了某些功能所形成的。储器而增加了某些功能所形成的。n增加的功能有产生和处理缺页中断、从内存换出一页和调出一页。增加的功能有产生和处理缺页中断、从内存换出一页和调出一页。13地址变换机构地址变换机构

10、开始页号页表长度越界中断Y查快表查页表页在快表中?NY页在内存?Y修改快表修改访问字段和修改位N形成物理地址结束保留CPU现场从外存找到缺页N内存满否?Y选择一页换出将该页写回外存该页修改过吗?Y从外存读入缺页修改页表NN缺页中断处理14请求页式存储管理驻留集管理请求页式存储管理驻留集管理驻留集管理包括以下内容:驻留集管理包括以下内容:保证进程正常运行所需的最少物理块数是多少?保证进程正常运行所需的最少物理块数是多少?为每个进程分配物理块时,其数目是固定的、还是可变的?为每个进程分配物理块时,其数目是固定的、还是可变的?如何为进程置换物理块,是局部置换?还是全局置换如何为进程置换物理块,是局部

11、置换?还是全局置换?15物理块越多越好!物理块越多越好!虚拟?虚拟?随着为进程分配的物理块数目的减少,将使进程执行中的缺页率提高,从而降低随着为进程分配的物理块数目的减少,将使进程执行中的缺页率提高,从而降低进程的执行速度。进程的执行速度。能保证进程正常运行所需的最小物理块数是多少?这与计算机的硬件结构有关,能保证进程正常运行所需的最小物理块数是多少?这与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。取决于指令的格式、功能和寻址方式。最少物理块数最少物理块数进程正常运行需要多少物理块?16驻留集管理驻留集管理 n 除了分配策略,系统还要考虑换出策略。在考虑换出一页时,有两种置换策略:

12、局部置除了分配策略,系统还要考虑换出策略。在考虑换出一页时,有两种置换策略:局部置换和全局置换。换和全局置换。n局部置换策略是指在缺页的进程中选择一页换出。局部置换策略是指在缺页的进程中选择一页换出。n全局置换策略是指在所有驻留在内存的页中进行选择,不管它属于哪个进程。全局置换策略是指在所有驻留在内存的页中进行选择,不管它属于哪个进程。n综合分配策略和置换策略,固定分配就意味着使用局部置换。可变分配策略显然即可以综合分配策略和置换策略,固定分配就意味着使用局部置换。可变分配策略显然即可以采用局部置换策略,也可以采用全局置换策略。采用局部置换策略,也可以采用全局置换策略。n于是可以组合出以下三种

13、适用的策略:于是可以组合出以下三种适用的策略:17驻留集管理驻留集管理 固定分配、局部置换固定分配、局部置换为每个进程分配固定页数的内存空间、且运行过程中不变。为每个进程分配固定页数的内存空间、且运行过程中不变。当进程缺页时,只能从该进程在内存的几个页面中选出一页换出,然后再调入一当进程缺页时,只能从该进程在内存的几个页面中选出一页换出,然后再调入一页,保证进程的页数不变。页,保证进程的页数不变。可变分配、全局置换可变分配、全局置换系统开始先为每个进程分配一定数目的物理块。整个系统有一空闲物理块链,当系统开始先为每个进程分配一定数目的物理块。整个系统有一空闲物理块链,当某进程缺页时,系统从空闲

14、链中选出一块分配给进程。某进程缺页时,系统从空闲链中选出一块分配给进程。空闲链为空时,空闲链为空时,OS从所有进程的页面中权衡选择一页换出。从所有进程的页面中权衡选择一页换出。可变分配、局部置换可变分配、局部置换分配同上,但进程缺页时,只能从该进程在内存的页面中选出一页换出。分配同上,但进程缺页时,只能从该进程在内存的页面中选出一页换出。18请求页式存储管理的调入策略请求页式存储管理的调入策略 何时调入页面何时调入页面预调:预计进程要访问的页,提前调入内存的方法。预调:预计进程要访问的页,提前调入内存的方法。 主要用于进程首次调入时使用。主要用于进程首次调入时使用。请调:当进程运行过程中发生缺

15、页时,将缺页面调入内存。请调:当进程运行过程中发生缺页时,将缺页面调入内存。 实现策略简单,但是容易产生较多的缺页中实现策略简单,但是容易产生较多的缺页中 断,造成对磁盘断,造成对磁盘I/O的次数增的次数增多,容易产生抖动。多,容易产生抖动。19请求页式存储管理的调入策略请求页式存储管理的调入策略 从何处调入从何处调入进程的所有页面都放在对换区。进程的所有页面都放在对换区。只将修改过的页面放在对换区,未的放在文件区。只将修改过的页面放在对换区,未的放在文件区。 UNIX系统方式,首次从文件区调入,换出时放在对换区,以后从对换区调入。系统方式,首次从文件区调入,换出时放在对换区,以后从对换区调入

16、。20请求页式存储管理的页面置换算法请求页式存储管理的页面置换算法 最佳置换算法最佳置换算法OPT先进先出置换算法先进先出置换算法FIFO最近最久未使用置换算法最近最久未使用置换算法LRU CLOCK置换算法置换算法21最佳置换算法最佳置换算法7701701203203243201201707 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1结果结果:页面换出6次,缺页9次。页面走向页面走向思想思想置换哪些不再使用,或最长时间内不再使用的页置换哪些不再使用,或最长时间内不再使用的页(即往后看(即往后看 看哪个数字出现比较靠后,替换它)。看哪个数字出现比较靠后,替换它)

17、。22先进先出页面置换算法先进先出页面置换算法7701701203203243201201707 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 17701701201230433023012717 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1023042342201270170OPT与FIFO的比较结果结果: OPT页面换出6次,缺页9次。 FIFO页面换出12次,缺页15次。页面走向页面走向页面走向页面走向FIFO思想思想淘汰最先进入内存的页淘汰最先进入内存的页。OPT思想思想置换哪些不再使用,置换哪些不再使用,或最长时间内不再使用的页

18、或最长时间内不再使用的页。23最近最久未使用最近最久未使用LRU页面置换算法页面置换算法7701701203203243201201707 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 17701701203203402032132107 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1240243710OPT与LRU的比较结果结果: OPT页面换出6次,缺页9次。 LRU 页面换出9次,缺页12次。页面走向页面走向页面走向页面走向思想思想用用“过去过去”的行为预测将来,置换哪些的行为预测将来,置换哪些“最近最久未使用最近最久未使用”的页的页

19、。24CLOCK页面置换算法页面置换算法 LRU性能较好,但实现困难!因此可用性能较好,但实现困难!因此可用CLOCK算法。算法。为每页设一访问位,再将内存中的所有页面链接成一循环队列。为每页设一访问位,再将内存中的所有页面链接成一循环队列。 当某页被访问时,其访问位置当某页被访问时,其访问位置1。 置换算法在选择一页淘汰时,只需检查其访问位。置换算法在选择一页淘汰时,只需检查其访问位。如果是如果是0,就选择该页换出;,就选择该页换出;如果是如果是1,则重新将其置为,则重新将其置为0,暂不换出。,暂不换出。25CLOCK页面置换算法页面置换算法除了考虑页面的使用情况外,还要考虑该页是否被修改过

20、。除了考虑页面的使用情况外,还要考虑该页是否被修改过。由访问位由访问位A和修改位和修改位M组合成下面四种情况的组合:组合成下面四种情况的组合: A=0,M=0该页既未被访问过、又未被修改过,是最佳淘汰页。该页既未被访问过、又未被修改过,是最佳淘汰页。 A=0,M=1该页最近未被访问、但已被修改,可以被淘汰。该页最近未被访问、但已被修改,可以被淘汰。 A=1,M=0最近已被访问,但未被修改,该页有可能再被访问。最近已被访问,但未被修改,该页有可能再被访问。 A=1,M=1最近已被访问且被修改,该页可能再被访问。最近已被访问且被修改,该页可能再被访问。1从当前位置扫描循环队列,寻找从当前位置扫描循

21、环队列,寻找1类页面。类页面。2若若1失败,开始第二轮扫描,寻找失败,开始第二轮扫描,寻找类页面,并将所经过的页面的访问位置类页面,并将所经过的页面的访问位置0。3若若2也失败,返回到开始位置,将所有的访问位复也失败,返回到开始位置,将所有的访问位复0,goto 1。26u请求页式存储管理系统的性能请求页式存储管理系统的性能u由于请求页式存储管理系统的性能优越,因此它成为当前最常用的一种存储管理方由于请求页式存储管理系统的性能优越,因此它成为当前最常用的一种存储管理方案。案。u但进程在运行时的缺页情况,会影响进程的运行速度和系统的性能。但进程在运行时的缺页情况,会影响进程的运行速度和系统的性能

22、。u而缺页率的高低又与一个进程在内存的存储块数有关。而缺页率的高低又与一个进程在内存的存储块数有关。u下面分析缺页率对系统性能的影响:下面分析缺页率对系统性能的影响:27驻留集驻留集n 驻留集理论是在驻留集理论是在1968年由年由P.Denning提出并推广的,它对虚拟存储器的设计有提出并推广的,它对虚拟存储器的设计有着深远的影响。着深远的影响。n Denning认为,进程在运行时对页面的访问是不均匀的。即往往在某段时间内认为,进程在运行时对页面的访问是不均匀的。即往往在某段时间内的访问仅局限于较少的若干页面;的访问仅局限于较少的若干页面;n 而在另一段时间内,则又可能仅局限于对另一些较少的页

23、面进行访问。而在另一段时间内,则又可能仅局限于对另一些较少的页面进行访问。n如果能够预知进程在某段时间间隔内要访问哪些页面,并能将这些页面提前调如果能够预知进程在某段时间间隔内要访问哪些页面,并能将这些页面提前调入内存,将会大大地降低缺页率,从而减少置换工作,提高入内存,将会大大地降低缺页率,从而减少置换工作,提高CPU的利用率。的利用率。28驻留集驻留集正确选择驻留集窗口大小:正确选择驻留集窗口大小:窗口大小窗口大小选择得过小,频繁产生缺页中断。选择得过小,频繁产生缺页中断。窗口大小窗口大小选择得很大,失去了虚拟存储器的意义。选择得很大,失去了虚拟存储器的意义。182415182324171

24、8241817171524172424 182424 1515 1818 2323 2424 1717 1818 2418 1717 1515 2424 1717 24 182424 1524 15 1815 18 2318 23 2423 24 1724 17 1818 17 1517 15 24页访问序列窗口大小2 3 4 52424 1524 15 1824 15 18 2318 23 24 1724 18 17 152424 1524 15 1824 15 18 2315 18 23 24 17驻留集:即在某段时间间隔内,进程实际要访问的页面的集合。驻留集:即在某段时间间隔内,进程实际

25、要访问的页面的集合。29缺页率与物理块数的关系缺页率与物理块数的关系下限上限物理块数缺页率为进程分配的物理块数达到一定值图中拐点拐点处,缺页率保持在上下限之间30CPU的利用率与多道程序数的关系的利用率与多道程序数的关系多道程序度CPU利用率抖动的产生抖动的产生在多道程序环境下,在多道程序环境下,并不是并不是“多道程序的度越多道程序的度越高,系统吞吐量越大。高,系统吞吐量越大。”当当CPU的利用率达到的利用率达到某一峰值后,若继续增加某一峰值后,若继续增加多道程度,将产生抖动。多道程度,将产生抖动。抖动预防方法抖动预防方法加载控制加载控制 L=S准则准则(产生缺页的平均时间产生缺页的平均时间L

26、等于系统处理缺页的平均等于系统处理缺页的平均时间时间 S)采用局部置换采用局部置换挂起若干进程挂起若干进程31u具体预防措施:具体预防措施:u驻留集理论隐含了加载控制,只有驻留集足够大的进程才允许执行。在确定每一个驻留集理论隐含了加载控制,只有驻留集足够大的进程才允许执行。在确定每一个进程驻留集大小时,就确定了进程的数目。进程驻留集大小时,就确定了进程的数目。uDenning于于1980年提出了年提出了L=S准则,它用于调整多道程序的道数,使产生缺页的平准则,它用于调整多道程序的道数,使产生缺页的平均时间均时间L等于系统处理缺页的平均时间等于系统处理缺页的平均时间S。性能表明,此时。性能表明,

27、此时CPU的利用率最大。的利用率最大。u系统在采取可变分配策略时,尽可能采取局部置换。到某进程发生缺页时,仅在进系统在采取可变分配策略时,尽可能采取局部置换。到某进程发生缺页时,仅在进程自己的页面内进行置换,不影响其他进程分配的存储块数。这样即使出现了抖动,程自己的页面内进行置换,不影响其他进程分配的存储块数。这样即使出现了抖动,也局限在较小的范围内。也局限在较小的范围内。1.当多道程序的道数出现偏高的情况时,简单而有效的方法是挂起一些进程,以便腾当多道程序的道数出现偏高的情况时,简单而有效的方法是挂起一些进程,以便腾出内存空间分配给出现抖动的进程。出内存空间分配给出现抖动的进程。32u与页式

28、存储管理系统一样,段式存储管理系统也同样可以实现虚拟存储器。与页式存储管理系统一样,段式存储管理系统也同样可以实现虚拟存储器。u不同的是,请求页式存储管理系统以页为单位换进不同的是,请求页式存储管理系统以页为单位换进/换出,而请求段式存储管理系统以段换出,而请求段式存储管理系统以段为单位进行置换。为单位进行置换。u与请求页式存储管理系统一样,为了实现请求段式存储管理系统,同样需要一定硬件的与请求页式存储管理系统一样,为了实现请求段式存储管理系统,同样需要一定硬件的支持和配备相应的软件,同样有段表机制、缺段中断机构及地址变换机构。支持和配备相应的软件,同样有段表机制、缺段中断机构及地址变换机构。

29、33请段式系统中段表的扩充请段式系统中段表的扩充 6.3请求段式存储管理请求段式存储管理 段号 段长 段始址 存取方式 状态位 访问字段 修改位 增补位 外存地址除段号、段长和段始址这些段式系统已有的基本表项之外,增加了以下表项:除段号、段长和段始址这些段式系统已有的基本表项之外,增加了以下表项:存取方式:用于标识本段的存取属性是只执行、只读,还是允许读存取方式:用于标识本段的存取属性是只执行、只读,还是允许读/写写状态位:指示该段是否已进驻内存状态位:指示该段是否已进驻内存访问字段:用于记录本段有多长时间没有被访问。置换算法在选择换出段时参考访问字段:用于记录本段有多长时间没有被访问。置换算

30、法在选择换出段时参考修改位:表示该段调入内存后是否被修改过修改位:表示该段调入内存后是否被修改过增补位:这是请求段式存储管理系统中特有的字段,用于表示本段在运行过程中是否进行过增补位:这是请求段式存储管理系统中特有的字段,用于表示本段在运行过程中是否进行过动态增长动态增长外存地址:用于指出该段在外存的地址,供调入该段时使用外存地址:用于指出该段在外存的地址,供调入该段时使用34u请段式缺段中断机构请段式缺段中断机构u在请求段式存储管理系统中,调入、调出内存的单位是段,如果所要访问的段尚未在请求段式存储管理系统中,调入、调出内存的单位是段,如果所要访问的段尚未调入内存,就产生缺段中断信号。调入内存,就产生缺段中断信号。u请段式地址变换机构请段式地址变换机构u是在段式系统基础上形成的。由于要访问的段不一定在内存,因此在进行地址变换是在段式系统基础上形成的。由于要访问的段不一定在内存,因此在进行地址变换时,如果发现所要访问的段不在内存,必须将所缺的段调入内存,并修改段表中的时,如果发现所要访问的段不在内存,必须将所缺的段调入内存,并修改段表中的状态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论