《虚拟存储管理》PPT课件

上传人:s9****2 文档编号:569033643 上传时间:2024-07-27 格式:PPT 页数:39 大小:459.50KB
返回 下载 相关 举报
《虚拟存储管理》PPT课件_第1页
第1页 / 共39页
《虚拟存储管理》PPT课件_第2页
第2页 / 共39页
《虚拟存储管理》PPT课件_第3页
第3页 / 共39页
《虚拟存储管理》PPT课件_第4页
第4页 / 共39页
《虚拟存储管理》PPT课件_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《《虚拟存储管理》PPT课件》由会员分享,可在线阅读,更多相关《《虚拟存储管理》PPT课件(39页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

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

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

7、在内存。该页不在内存。 访问字段访问字段A:记录该页在一段时间内被访问的次数。记录该页在一段时间内被访问的次数。 修改位修改位M:记录该页在内存期间是否被修改过。记录该页在内存期间是否被修改过。M=1该页调入内存后被修改过该页调入内存后被修改过; M=0该页调入内存后未被修改过。该页调入内存后未被修改过。 外存地址:外存地址: 该页在外存的地址。该页在外存的地址。页表的扩充页表的扩充 6.2请求页式存储管理10缺页中断机构主要表现在(与一般中断的主要区别):主要表现在(与一般中断的主要区别): 在指令执行期间产生和处理中断信号。在指令执行期间产生和处理中断信号。通常通常CPU外部中断,是在每条

8、指令执行完毕后去检查是否有中断外部中断,是在每条指令执行完毕后去检查是否有中断请求到达。而缺页中断是在指令执行期间,发现所要访问的指令请求到达。而缺页中断是在指令执行期间,发现所要访问的指令或数据不在内存时产生和处理。或数据不在内存时产生和处理。11缺页中断机构主要表现在(与一般中断的主要区别):主要表现在(与一般中断的主要区别): 一条指令执行期间,可能产生多次缺页中断一条指令执行期间,可能产生多次缺页中断。基于这些特性,系统中的硬件机构应能够保存多次中断时的状态,基于这些特性,系统中的硬件机构应能够保存多次中断时的状态,并保存最后能返回到中断前产生缺页中断的指令处继续执行。并保存最后能返回

9、到中断前产生缺页中断的指令处继续执行。12地址变换机构n请求页式存储管理系统的地址变换机构,是在页式存储管理系统基础之上,为实请求页式存储管理系统的地址变换机构,是在页式存储管理系统基础之上,为实现虚拟存储器而增加了某些功能所形成的。现虚拟存储器而增加了某些功能所形成的。n增加的功能有产生和处理缺页中断、从内存换出一页和调出一页。增加的功能有产生和处理缺页中断、从内存换出一页和调出一页。13地址变换机构14请求页式存储管理驻留集管理驻留集管理包括以下内容:驻留集管理包括以下内容: 保证进程正常运行所需的最少物理块数是多少?保证进程正常运行所需的最少物理块数是多少? 为每个进程分配物理块时,其数

10、目是固定的、还是可变的?为每个进程分配物理块时,其数目是固定的、还是可变的? 如何为进程置换物理块,是局部置换?还是全局置换如何为进程置换物理块,是局部置换?还是全局置换?15 物理块越多越好!物理块越多越好!虚拟?虚拟? 随着为进程分配的物理块数目的减少,将使进随着为进程分配的物理块数目的减少,将使进程执行中的缺页率提高,从而降低进程的执行程执行中的缺页率提高,从而降低进程的执行速度。速度。 能保证进程正常运行所需的最小物理块数是多能保证进程正常运行所需的最小物理块数是多少?少?这与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。这与计算机的硬件结构有关,取决于指令的格式、功能和寻址

11、方式。最少物理块数进程正常运行需要多少物理块?16驻留集管理 n 除了分配策略,系统还要考虑换出策略。在考虑换出一页时,有两种置换策略:除了分配策略,系统还要考虑换出策略。在考虑换出一页时,有两种置换策略:局部置换和全局置换。局部置换和全局置换。n局部置换策略是指在缺页的进程中选择一页换出。局部置换策略是指在缺页的进程中选择一页换出。n全局置换策略是指在所有驻留在内存的页中进行选择,不管它属于哪个进程。全局置换策略是指在所有驻留在内存的页中进行选择,不管它属于哪个进程。n综合分配策略和置换策略,固定分配就意味着使用局部置换。可变分配策略显综合分配策略和置换策略,固定分配就意味着使用局部置换。可

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

13、目的物理块。整个系统有一空闲物理系统开始先为每个进程分配一定数目的物理块。整个系统有一空闲物理块链,当某进程缺页时,系统从空闲链中选出一块分配给进程。块链,当某进程缺页时,系统从空闲链中选出一块分配给进程。 空闲链为空时,空闲链为空时,OS从所有进程的页面中权衡选择一页换出。从所有进程的页面中权衡选择一页换出。 可变分配、局部置换可变分配、局部置换 分配同上,但进程缺页时,只能从该进程在内存的页面中选出一页换出。分配同上,但进程缺页时,只能从该进程在内存的页面中选出一页换出。18请求页式存储管理的调入策略 何时调入页面何时调入页面 预调:预计进程要访问的页,提前调入内存的方法。预调:预计进程要

14、访问的页,提前调入内存的方法。 主要用于进程首次调入时使用。主要用于进程首次调入时使用。 请调:当进程运行过程中发生缺页时,将缺页面调入内存。请调:当进程运行过程中发生缺页时,将缺页面调入内存。 实现策略简单,但是容易产生较多的缺页中实现策略简单,但是容易产生较多的缺页中 断,造成对磁盘断,造成对磁盘I/O的次数增多,容易产生抖动。的次数增多,容易产生抖动。19请求页式存储管理的调入策略 从何处调入从何处调入在请求页式存储管理系统中,把外存分成两部分:文件区和对换区。文件区在请求页式存储管理系统中,把外存分成两部分:文件区和对换区。文件区在请求页式存储管理系统中,把外存分成两部分:文件区和对换

15、区。文件区在请求页式存储管理系统中,把外存分成两部分:文件区和对换区。文件区是用于存放文件的磁盘空间,对换区专门用于存放从内存换出的页面。是用于存放文件的磁盘空间,对换区专门用于存放从内存换出的页面。是用于存放文件的磁盘空间,对换区专门用于存放从内存换出的页面。是用于存放文件的磁盘空间,对换区专门用于存放从内存换出的页面。 进程的所有页面都放在进程的所有页面都放在对换区对换区。 只将修改过的页面放在只将修改过的页面放在对换区对换区,未的放在,未的放在文件区文件区。 UNIX系统方式,首次从文件区调入,换出时放在对换区,以后从对换区系统方式,首次从文件区调入,换出时放在对换区,以后从对换区调入。

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

17、FIFO思想思想淘汰最先进入内存的页淘汰最先进入内存的页。OPT思想思想置换哪些不再使用,置换哪些不再使用,或最长时间内不再使用的页或最长时间内不再使用的页。23最近最久未使用LRU页面置换算法OPT与LRU的比较结果结果: OPT页面换出6次,缺页9次。 LRU 页面换出9次,缺页12次。页面走向页面走向页面走向页面走向思想思想用用“过去过去”的行为预测将来,置换哪些的行为预测将来,置换哪些“最近最久未使用最近最久未使用”的页的页。24CLOCK页面置换算法 LRU性能较好,但实现困难!因此可用性能较好,但实现困难!因此可用CLOCK算法。算法。 为每页设一访问位,再将内存中的所有页面链接成

18、为每页设一访问位,再将内存中的所有页面链接成一循环队列。一循环队列。 当某页被访问时,其访问位置当某页被访问时,其访问位置1。 置换算法在选择一页淘汰时,只需检查其访问位。置换算法在选择一页淘汰时,只需检查其访问位。如果是如果是0,就选择该页换出;,就选择该页换出;如果是如果是1,则重新将其置为,则重新将其置为0,暂不换出。,暂不换出。25CLOCK页面置换算法 除了考虑页面的使用情况外,还要考虑该页是否被修改过。除了考虑页面的使用情况外,还要考虑该页是否被修改过。 由访问位由访问位A和修改位和修改位M组合成下面四种情况的组合:组合成下面四种情况的组合: A=0,M=0该页既未被访问过、又未被

19、修改过,是最佳淘汰页。该页既未被访问过、又未被修改过,是最佳淘汰页。 A=0,M=1该页最近未被访问、但已被修改,可以被淘汰。该页最近未被访问、但已被修改,可以被淘汰。 A=1,M=0最近已被访问,但未被修改,该页有可能再被访问。最近已被访问,但未被修改,该页有可能再被访问。 A=1,M=1最近已被访问且被修改,该页可能再被访问。最近已被访问且被修改,该页可能再被访问。CLOCKCLOCK算法执行过程算法执行过程算法执行过程算法执行过程1从当前位置扫描循环队列,寻找从当前位置扫描循环队列,寻找1类页面。类页面。2若若1失败,开始第二轮扫描,寻找失败,开始第二轮扫描,寻找类页面,并将所经过的页面

20、的访问位置类页面,并将所经过的页面的访问位置0。3若若2也失败,返回到开始位置,将所有的访问位复也失败,返回到开始位置,将所有的访问位复0,goto 1。26请求页式存储管理系统的性能由于请求页式存储管理系统的性能优越,因此它成为当前最常用的一种存储管理方案。但进程在运行时的缺页情况,会影响进程的运行速度和系统的性能。而缺页率的高低又与一个进程在内存的存储块数有关。下面分析缺页率对系统性能的影响:27驻留集n 驻留集理论是在驻留集理论是在1968年由年由P.Denning提出并推广的,它对虚拟存储器提出并推广的,它对虚拟存储器的设计有着深远的影响。的设计有着深远的影响。n Denning认为,

21、进程在运行时对页面的访问是不均匀的。即往往在某认为,进程在运行时对页面的访问是不均匀的。即往往在某段时间内的访问仅局限于较少的若干页面;段时间内的访问仅局限于较少的若干页面;n 而在另一段时间内,则又可能仅局限于对另一些较少的页面进行访问。而在另一段时间内,则又可能仅局限于对另一些较少的页面进行访问。n如果能够预知进程在某段时间间隔内要访问哪些页面,并能将这些页如果能够预知进程在某段时间间隔内要访问哪些页面,并能将这些页面提前调入内存,将会大大地降低缺页率,从而减少置换工作,提高面提前调入内存,将会大大地降低缺页率,从而减少置换工作,提高CPU的利用率。的利用率。28驻留集 正确选择驻留集窗口

22、大小:正确选择驻留集窗口大小: 窗口大小窗口大小选择得过小,频繁产生缺页中断。选择得过小,频繁产生缺页中断。 窗口大小窗口大小选择得很大,失去了虚拟存储器的意义。选择得很大,失去了虚拟存储器的意义。 驻留集驻留集:即在某段时间间隔内,进程实际要访问的页面的:即在某段时间间隔内,进程实际要访问的页面的集合。集合。29缺页率与物理块数的关系 为进程分配的物理块数达到一定值图中拐点拐点处,缺页率保持在上下限之间30CPU的利用率与多道程序数的关系 抖动的产生抖动的产生 在多道程序环境下,在多道程序环境下,并不是并不是“多道程序的多道程序的度越高,系统吞吐量度越高,系统吞吐量越大。越大。” 当当CPU

23、的利用率达的利用率达到某一峰值后,若继到某一峰值后,若继续增加多道程度,将续增加多道程度,将产生产生抖动抖动。 抖动预防方法抖动预防方法 加载控制加载控制 L=S准则准则(产生缺页的平均时间产生缺页的平均时间L等于系统处理缺页的平均等于系统处理缺页的平均时间时间 S) 采用局部置换采用局部置换 挂起若干进程挂起若干进程31具体预防措施:1.驻留集理论隐含了加载控制,只有驻留集足够大的进程才允许执行。在确定每一个进程驻留集大小时,就确定了进程的数目。2.Denning于1980年提出了L=S准则,它用于调整多道程序的道数,使产生缺页的平均时间L等于系统处理缺页的平均时间S。性能表明,此时CPU的

24、利用率最大。3.系统在采取可变分配策略时,尽可能采取局部置换。到某进程发生缺页时,仅在进程自己的页面内进行置换,不影响其他进程分配的存储块数。这样即使出现了抖动,也局限在较小的范围内。4.当多道程序的道数出现偏高的情况时,简单而有效的方法是挂起一些进程,以便腾出内存空间分配给出现抖动的进程。32与页式存储管理系统一样,段式存储管理系统也同样可以实现虚拟存储器。不同的是,请求页式存储管理系统以页为单位换进/换出,而请求段式存储管理系统以段为单位进行置换。与请求页式存储管理系统一样,为了实现请求段式存储管理系统,同样需要一定硬件的支持和配备相应的软件,同样有段表机制、缺段中断机构及地址变换机构。3

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

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

27、统的内存管理在请求段式管理系统中,对于物理内存的分配可以采取可变分区管理相似的方案。35动态链接L 间接地址间接地址 动态链接动态链接 装入时动态链接:在装入内存时,边装入边链接。装入时动态链接:在装入内存时,边装入边链接。 运行时动态链接:运行时,用到哪个模块,再链接哪个模块,用不到运行时动态链接:运行时,用到哪个模块,再链接哪个模块,用不到的模块可不装入内存。的模块可不装入内存。 间接字间接字 L=1:表示要动态链接,发出链接中断信号,转系统处理。表示要动态链接,发出链接中断信号,转系统处理。 L=0:直接地址。直接地址。动态链接的实现动态链接的实现36实现动态链接对编译器的要求 当某段的

28、指令是访问本段内的地址时,将其译成直接寻址指令当某段的指令是访问本段内的地址时,将其译成直接寻址指令。 当某段的指令是访问本段外的地址时,将其译成间接寻址指令,并将链当某段的指令是访问本段外的地址时,将其译成间接寻址指令,并将链接中断位接中断位L置置1,设置链接中断处理程序。,设置链接中断处理程序。37动态链接过程 当程序执行到当程序执行到LOAD 1,0|1000时,由于时,由于L=1发出链接中断信号,发出链接中断信号,OS得到控得到控制。制。 系统找到系统找到0段的段的1004号单元处的符号串号单元处的符号串”X|“,将将X段调入内存,段调入内存,分配一个段号分配一个段号X=1,同时找到同时找到=120后修改间接字,并置后修改间接字,并置L=0。 中段返回后,执行指令,此时中段返回后,执行指令,此时L=0为直接寻址指令。为直接寻址指令。38动态链接过程39P166-167/ 1,2,4 6 7 8 9作业

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 模板/表格 > 财务表格

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号