操作系统虚拟内存ppt课件.ppt
《操作系统虚拟内存ppt课件.ppt》由会员分享,可在线阅读,更多相关《操作系统虚拟内存ppt课件.ppt(86页珍藏版)》请在三一办公上搜索。
1、虚拟存储管理,由于受到计算机结构限制和系统成本限制,计算机系统的内存容量总是有限的。在传统存储器管理中,如果一个作业需要运行,系统必须将作业的全部信息装入内存,并在整个作业运行结束后,才能释放内存。如果一个作业信息大于内存容量,则无法装入内存,也无法运行;如果系统有大量的作业申请进入内存,则系统只能接纳相当有限的作业,系统的多道度和性能都难以得到提高。通过对进程运行的分析而发现:在进程执行时,并非同时需要作业的全部信息。,虚拟存储器概念,在进程的执行过程中,作业的某部分信息,可能从来不会使用;也可能运行完一次后,再也不会使用。如果将这些不使用的信息存放在物理内存中,对内存是一种浪费。同样,既然
2、作业的全部信息是分阶段需要,则可以分阶段将作业信息调入内存,而不需要一次将作业的全部信息调入内存。于是,提出了这样的问题:能否将作业不执行的部分暂时存放在外存,待到进程需要执行时,再将其从外存调入内存。将外存作为内存的补充,从逻辑上扩充内存,是虚拟存储管理的基本思想。,虚拟存储器概念,人们通过对Fortran语言程序、操作系统过程和通用科学计算程序的分析,发现了对程序和数据的访问具有如下特点:(1)顺序性 程序在运行时除了少部分的分支和过程调用指令外,大部分都是顺序执行。对大程序没有必要把所有的信息一次都放入内存。(2)局限性 程序在运行时,如果有若干个过程调用,程序执行的轨迹会转移至调用区域
3、,但过程调用一般由相对较少的指令组成。当程序在某个局部范围内运行时,系统可以只将相关的局部信息放入内存,其它不相关或暂时不相关的信息放入外存。,虚拟存储器概念,(3)多次性 虽然程序中可能包含许多循环结构,但是这些循环结构通常只由少数指令构成。这些集中在一起的少数指令被多次执行,在内存中可以只放入一个版本,在需要时才将该版本调入内存。(4)独立性 程序中可能存在彼此互斥或相互独立的部分,每次运行时总有部分程序不被使用,没有必要将不被使用的部分放入内存。,虚拟存储器概念,虚拟存储器定义:是指具有请求调入功能和置换功能,能够从逻辑上对内存空间进行扩展,允许用户的逻辑地址空间大于物理内存地址空间的存
4、储管理系统。虚拟存储器的组织形式如下图所示。,虚拟存储管理的组织,虚拟存储器概念,在虚拟存储器中,一般将硬盘作为外存,因此,硬盘也被称为对换设备。虚拟存储器的逻辑地址空间大小与物理内存大小没有直接关系,由计算机系统的地址结构决定。 如果计算机系统的地址为32位,则可寻址的范围为04G;如果计算机系统的地址为20位,则可寻址的范围为01M。计算机系统的可寻址范围为虚拟存储器的最大范围。,虚拟存储器概念,虚拟存储器完成了逻辑地址空间和物理地址空间的分离,能够在一个小的物理存储空间上提供给程序一个巨大的虚拟存储器空间。虚拟存储器的基础是内存的离散管理,实现的方式为请求分页式虚拟存储器管理或请求分段式
5、虚拟存储器管理。,虚拟存储器概念,以页为单位置换需硬件支持请求分页的页表机构缺页中断机构地址变化机构需实现请求分页的软件用于实现请求调页的软件实现页面置换的软件,请求分页系统,请求分段系统,以段为单位置换需硬件支持请求分段的段表机构缺段中断机构地址变化机构需实现请求分段的软件用于实现请求调段的软件实现段面置换的软件,虚拟存储器特征,多次性:最重要的特征 虚拟存储器在实现上需要将一个作业分多次调入内存运行。对换性 虚拟存储器允许作业在运行过程中将暂时不运行的部分换出,在需要时再换入,对换性使得作业运行所需内存更少,系统的多道度提高。虚拟性 虚拟存储器从逻辑上扩充内存容量,使得用户能够使用的内存容
6、量远远大于实际内存容量,提高了系统运行程序的能力。,虚拟存储管理的方式之一为基于内存的分页管理。分页虚拟存储器管理的实现需要增加请求调页和页面置换功能。 虚拟存储管理首先将需要运行的作业放在外存。当作业被调度时,系统只将作业的少数页面装入内存,随着作业运行,再通过页面请求功能、调页功能和页面置换功能,逐次将作业需要运行的页面调入内存运行,并将暂时不运行的页面换出到外存。虚拟存储管理的主要功能为请求调页及页面置换。,请求分页存储管理,请求分页存储管理,请求分页的硬件支持包括:请求分页的页表机制、缺页中断机构和地址变换机构请求分页的页表机制除了页号和物理块号外,增加了页的状态位、外存地址、修改位、
7、访问字段等信息,虚拟存储器管理下的页表,页表增加字段的用途:状态位:用于标志一个页面是否已经装入内存。外存地址:页面在外存中的地址。当需要将某页面调入内存时,查询页表中的外存地址,通常是物理块号。修改位:页面到内存后是否被修改过的标志,以确定如果页面被换出内存时,是否需要写入外存。如果页面在内存没有被修改过,页面中的内容和外存中的内容一致,则被换出内存时不需要再写入外存,节约了写入外存的时间。如果页面在内存中已经被修改过了,被换出内存时需要写入外存。,请求分页存储管理,访问字段:标志页面在内存时是否被访问过。用于页面置换算法时系统是否将页面换出内存时参考。如果页面被访问过,在页面置换时,系统考
8、虑该页面可能以后会被再次访问而不将其换出。,请求分页存储管理,请求分页存储管理,缺页中断机构在进程运行过程中,当发现所访问的页面不在内存时,缺页中断机构便产生一缺页中断信号,通知操作系统将所需要的页面调入内存。缺页中断与一般中断一样,都需要经历保护CPU环境、分析中断原因、转入中断程序处理、中断处理后恢复CPU环境等步骤。,请求分页存储管理,缺页中断又是非常特殊的一种中断,与一般中断有如下不同:CPU检测中断的时间不同对一般中断信号,CPU是在一条指令执行完后检测其是否存在,检测时间以一个指令周期为间隔。而对缺页中断信号,CPU是在一条指令执行期间,只要有中断信息就可检测,不需要等待一个指令周
9、期。因此,CPU检测缺页中断更及时。CPU可以多次处理如果在一个指令周期中多次检测到缺页中断,CPU都会及时处理。由于缺页中断的独特性,缺页中断的处理过程需要由硬件和软件共同完成。硬件寄存器主要用于保护缺页时CPU未完成指令状态和恢复原指令的执行。软件为实现缺页中断的相应算法程序,缺页中断处理流程图,请求分页存储管理,虚拟存储器管理不可能在程序执行前将所有的程序页面放入内存,因此,在程序执行过程中需要逐步将程序页面调入内存。这样,在程序运行过程中完成逻辑地址到内存物理地址的变换,是动态重定位装入。,请求分页存储管理,具有快表的请求分页虚拟存储地址变换机构,请求分页存储管理,地址变换机构,请求分
10、页存储管理,当进程被调度时,操作系统将进程PCB中的页表起始地址和长度装入页表寄存器中。CPU从逻辑地址中取得页号,根据页号查询快表,如果快表中有该页面的内存块号,则将内存块号与页内偏移一起作为该页在内存的物理地址;如果快表中没有该页面的内存块号,CPU从页表寄存器得到页表在内存中的起始地址,查询页表,得到该页的内存块号,则将该块号与页内偏移一起作为该页在内存中的物理地址,同时将该页的页号和内存块号写入快表,以备下次查询时使用。如果查询页表而没有得到该页的内存块号,即表示该页不在内存,产生一缺页中断信号,请求操作系统将该页面调入内存。,请求分页存储管理,在页面调入过程中,如果进程空间没有空余的
11、页框,则系统需要调出一个页面后再将该页面调入内存,同时系统修改页表。请求分页的虚拟存储器管理采用请求页面调入方式,其实现需要硬件支持,增加了机器成本和系统开销。用于地址变换和各种数据结构的存储开销、执行地址变换指令的时间开销、内存与外存之间对换页面的I/O开销等与单纯的分页存储管理相比,虚拟存储器管理是以牺牲系统开销为代价,换取内存的逻辑扩充,换取系统运行程序的增大和吞吐量的提高。,请求分页存储管理,请求分页的硬件支持完成了分页虚拟存储器管理中的地址变换,但是,在实施分页虚拟存储器管理中需要解决如下的策略问题:调页策略调页策略用于决定何时将进程所需要的页面调入到内存分配策略分配策略决定系统应该
12、给一个进程分配多少内存中的物理块,进程才能运行。内存置换策略内存置换策略用于决定内存中的哪些页面被换出内存。,请求分页存储管理,在虚拟存储器管理中,有两种调页策略:请求页(demand paging)调入和预先页(prepaging)调入:请求页调入请求页调入是在CPU需要访问进程页面时,所访问的进程页面不在内存,则CPU发出缺页中断,请求将页面调入内存。操作系统接收到缺页中断请求后,分配内存页框并完成从外存调入页面优点:只有在需要时才将页面调入内存,节省了内存空间。,请求分页存储管理,缺点:在进程初次执行时,开始会有大部分的页面调入内存,这时的进程切换开销很大。如果发生缺页时系统调入页面,而
13、每次又仅调入一个页面,则启动磁盘作I/O的频率很高。由于每次启动磁盘时会产生一个时间延迟,因此,会造成系统用于I/O的时间增长,系统效率降低。对于执行顺序跳跃性大的程序,缺页情况变化大,难以趋向稳定的水平,从而引起系统不稳定。,请求分页存储管理,预先页调入预先页调入由操作系统根据某种算法,预先动态估计进程可能要访问的页面,并在处理器需要访问页面之前先将页面预先调入内存优点一次可将多个页面调入内存,减少了缺页中断的次数和I/O操作次数,系统付出的开销减少。如果预先动态估计准确率高,该调入策略会大大提高系统效率。缺点:如果预先动态估计准确率较低,调入的页面不被使用的可能性大,系统效率较低如果程序员
14、不能预先提供所需程序部分的信息,则该调度策略难以实施。,请求分页存储管理,物理块的分配策略:为了合理和有效分配内存,内存物理块可以按照进程平均分配法、进程按比例分配法和进程优先权分配法进行分配。进程平均分配法在内存物理块的分配上,早期采用的是各进程机会均等进行分配的方法,即进程平均分配法。进程按比例分配法:根据进程的大小,进程按比例分配法为按照比例分配内存物理块数。如果系统中有m个内存物理块,n个并发进程,每个进程的页面数为si,则系统中每个进程能够分得的内存物理块数为:,内存物理块数也应该取整数。 例如,如果内存能够提供62个内存物理块,并发进程有P1(有10个页面)和P2(有127个页面)
15、,则进程P1和P2分配到的内存物理块分别为:,请求分页存储管理,请求分页存储管理,进程优先权分配法对于在系统中所处地位重要、时间要求紧迫的进程,系统应该考虑给其分配较多的内存空间,使其加速完成。在实际应用中,将按比例分配法和进程优先级结合起来考虑,系统把内存中可以分配的物理块分为两部分,一部分按照比例分配给各并发进程,另一部分根据进程的优先权进行适当增加。,对内存物理块分配还要考虑系统的多道度情况。如果随着系统运行,多道度增加了,则每个进程需要释放出一些内存物理块给新进程;相反,如果多道度减少了,则将回收的内存物理块再分配给剩余进程。,请求分页存储管理,进程的最小物理块数不管给进程分配多少物理
16、块,首要条件是保证进程的正常运行。因此,在内存物理块分配中有一个基本的界限,即最小物理块数。最小物理块数是保证进程正常运行所需要的最小内存块数进程需要的最小物理块数与计算机的硬件结构有关,取决于计算机的指令格式、功能和寻址方式。如果计算机采用单地址指令的直接寻址方式,则只需要用于存放指令的页面和存放数据的页面,最小物理块数为2;如果采用间接寻址方式,则至少需要3个物理块。对于功能较强大的计算机,指令长度可能会超过多个字节,指令本身需要跨过多个页面,则物理块的最小需要数会更大。,请求分页存储管理,内存置换策略当需要运行的页面不在内存时,系统需要将其从外存调入内存。但是如果内存没有空闲空间提供时,
17、则系统需要先从内存中选择页面换出内存后,再将需要的页面换入内存。选择被换出的页面有两种类型:全局置换和局部置换。,请求分页存储管理,可变分配全局置换最容易实现的物理块分配和置换策略。首先为系统中的每个进程分配一定数目的物理块,OS系统自身也保持一个空闲物理块队列。如果有页面需要换入内存时,则系统首先考虑从空闲物理块队列中分配,其次考虑从所有的进程中选择合适的页面换出内存。,请求分页存储管理,固定分配局部置换根据进程类型,或程序员的建议,为每个进程分配一定数目的物理块,在整个运行期间不再改变。当进程有页面需要换入到内存时,只能从当前需要页面的进程中选择页面换出到外存,该置换方法对其它进程没有影响
18、,每个进程在内存中分得的内存物理块数不变。局限在于为每个进程分配多少个物理块难以确定。,请求分页存储管理,可变分配局部置换根据进程类型,或程序员的建议,开始为每个进程分配一定数目的物理块。当进程有页面需要换入到内存时,只能从当前需要页面的进程中选择页面换出到外存,该置换方法对其它进程没有影响。进程运行中频繁发生缺页,系统再为该进程分配若干附加的物理块,直至其缺页率减少到适当程度为止。,页面置换,虚拟存储管理的一个设计问题是:需要一个空闲页面时选择哪个页面来进行替换目标:减少缺页中断的次数,即减少缺页率举例:如果一个进程或一个作业在运行中成功的访问次数为S,即所访问的页面在内存中;不成功的访问次
19、数为F,即访问的页面需要缺页中断并且需要调入内存;运行需要访问的页面的总次数为A: A=S+F 则缺页率f为: f=F/A,进程的内存物理块数 进程分得的内存物理块数越多,缺页率越低。页面大小 划分的页面越大,缺页率越低。程序的局部性 如果编制的程序局部性好,则缺页率低。页面置换算法 如果选取的置换算法优,则缺页率低。,影响缺页率的因素,置换算法,最佳置换算法FIFO (first in first out) 先进先出页面置换算法LRU (least recently used) 置换算法时钟更换工作集法,最佳置换,最佳置换算法:选择一个随后最长时间不会被访问的页面进行替换最长时间不被使用的页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 虚拟内存 ppt 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-1350000.html