操作系统虚拟内存课件_第1页
操作系统虚拟内存课件_第2页
操作系统虚拟内存课件_第3页
操作系统虚拟内存课件_第4页
操作系统虚拟内存课件_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

虚拟存储管理虚拟存储管理由于受到计算机结构限制和系统成本限制,计算机系统的内存容量总是有限的。在传统存储器管理中,如果一个作业需要运行,系统必须将作业的全部信息装入内存,并在整个作业运行结束后,才能释放内存。如果一个作业信息大于内存容量,则无法装入内存,也无法运行;如果系统有大量的作业申请进入内存,则系统只能接纳相当有限的作业,系统的多道度和性能都难以得到提高。通过对进程运行的分析而发现:在进程执行时,并非同时需要作业的全部信息。虚拟存储器概念由于受到计算机结构限制和系统成本限制,计算机系统的内存容量总在进程的执行过程中,作业的某部分信息,可能从来不会使用;也可能运行完一次后,再也不会使用。如果将这些不使用的信息存放在物理内存中,对内存是一种浪费。同样,既然作业的全部信息是分阶段需要,则可以分阶段将作业信息调入内存,而不需要一次将作业的全部信息调入内存。于是,提出了这样的问题:能否将作业不执行的部分暂时存放在外存,待到进程需要执行时,再将其从外存调入内存。将外存作为内存的补充,从逻辑上扩充内存,是虚拟存储管理的基本思想。虚拟存储器概念在进程的执行过程中,作业的某部分信息,可能从来不会使用;也可人们通过对Fortran语言程序、操作系统过程和通用科学计算程序的分析,发现了对程序和数据的访问具有如下特点:(1)顺序性程序在运行时除了少部分的分支和过程调用指令外,大部分都是顺序执行。对大程序没有必要把所有的信息一次都放入内存。(2)局限性程序在运行时,如果有若干个过程调用,程序执行的轨迹会转移至调用区域,但过程调用一般由相对较少的指令组成。当程序在某个局部范围内运行时,系统可以只将相关的局部信息放入内存,其它不相关或暂时不相关的信息放入外存。虚拟存储器概念人们通过对Fortran语言程序、操作系统过程和通用科学计算(3)多次性虽然程序中可能包含许多循环结构,但是这些循环结构通常只由少数指令构成。这些集中在一起的少数指令被多次执行,在内存中可以只放入一个版本,在需要时才将该版本调入内存。(4)独立性程序中可能存在彼此互斥或相互独立的部分,每次运行时总有部分程序不被使用,没有必要将不被使用的部分放入内存。

虚拟存储器概念(3)多次性虚拟存储器概念

虚拟存储器定义:是指具有请求调入功能和置换功能,能够从逻辑上对内存空间进行扩展,允许用户的逻辑地址空间大于物理内存地址空间的存储管理系统。虚拟存储器的组织形式如下图所示。虚拟存储管理的组织虚拟存储器概念虚拟存储器定义:是指具有请求调入功能和置换功能,能够从逻辑上在虚拟存储器中,一般将硬盘作为外存,因此,硬盘也被称为对换设备。虚拟存储器的逻辑地址空间大小与物理内存大小没有直接关系,由计算机系统的地址结构决定。如果计算机系统的地址为32位,则可寻址的范围为0~4G;如果计算机系统的地址为20位,则可寻址的范围为0~1M。计算机系统的可寻址范围为虚拟存储器的最大范围。

虚拟存储器概念在虚拟存储器中,一般将硬盘作为外存,因此,硬盘也被称为对换设虚拟存储器完成了逻辑地址空间和物理地址空间的分离,能够在一个小的物理存储空间上提供给程序一个巨大的虚拟存储器空间。虚拟存储器的基础是内存的离散管理,实现的方式为请求分页式虚拟存储器管理或请求分段式虚拟存储器管理。虚拟存储器概念虚拟存储器完成了逻辑地址空间和物理地址空间的分离,能够在一个以页为单位置换需硬件支持请求分页的页表机构缺页中断机构地址变化机构需实现请求分页的软件用于实现请求调页的软件实现页面置换的软件请求分页系统以页为单位置换请求分页系统请求分段系统以段为单位置换需硬件支持请求分段的段表机构缺段中断机构地址变化机构需实现请求分段的软件用于实现请求调段的软件实现段面置换的软件请求分段系统以段为单位置换虚拟存储器特征多次性:最重要的特征虚拟存储器在实现上需要将一个作业分多次调入内存运行。对换性虚拟存储器允许作业在运行过程中将暂时不运行的部分换出,在需要时再换入,对换性使得作业运行所需内存更少,系统的多道度提高。虚拟性虚拟存储器从逻辑上扩充内存容量,使得用户能够使用的内存容量远远大于实际内存容量,提高了系统运行程序的能力。

虚拟存储器特征多次性:最重要的特征虚拟存储管理的方式之一为基于内存的分页管理。分页虚拟存储器管理的实现需要增加请求调页和页面置换功能。虚拟存储管理首先将需要运行的作业放在外存。当作业被调度时,系统只将作业的少数页面装入内存,随着作业运行,再通过页面请求功能、调页功能和页面置换功能,逐次将作业需要运行的页面调入内存运行,并将暂时不运行的页面换出到外存。虚拟存储管理的主要功能为请求调页及页面置换。请求分页存储管理虚拟存储管理的方式之一为基于内存的分页管理。分页请求分页存储管理请求分页的硬件支持包括:请求分页的页表机制、缺页中断机构和地址变换机构请求分页的页表机制除了页号和物理块号外,增加了页的状态位、外存地址、修改位、访问字段等信息虚拟存储器管理下的页表请求分页存储管理请求分页的硬件支持包括:虚拟存储器管理下的页页表增加字段的用途:状态位:用于标志一个页面是否已经装入内存。外存地址:页面在外存中的地址。当需要将某页面调入内存时,查询页表中的外存地址,通常是物理块号。修改位:页面到内存后是否被修改过的标志,以确定如果页面被换出内存时,是否需要写入外存。如果页面在内存没有被修改过,页面中的内容和外存中的内容一致,则被换出内存时不需要再写入外存,节约了写入外存的时间。如果页面在内存中已经被修改过了,被换出内存时需要写入外存。请求分页存储管理页表增加字段的用途:请求分页存储管理访问字段:标志页面在内存时是否被访问过。用于页面置换算法时系统是否将页面换出内存时参考。如果页面被访问过,在页面置换时,系统考虑该页面可能以后会被再次访问而不将其换出。请求分页存储管理访问字段:标志页面在内存时是否被访问过。用于页面置换算法时系请求分页存储管理缺页中断机构在进程运行过程中,当发现所访问的页面不在内存时,缺页中断机构便产生一缺页中断信号,通知操作系统将所需要的页面调入内存。缺页中断与一般中断一样,都需要经历保护CPU环境、分析中断原因、转入中断程序处理、中断处理后恢复CPU环境等步骤。请求分页存储管理缺页中断机构请求分页存储管理缺页中断又是非常特殊的一种中断,与一般中断有如下不同:CPU检测中断的时间不同对一般中断信号,CPU是在一条指令执行完后检测其是否存在,检测时间以一个指令周期为间隔。而对缺页中断信号,CPU是在一条指令执行期间,只要有中断信息就可检测,不需要等待一个指令周期。因此,CPU检测缺页中断更及时。CPU可以多次处理如果在一个指令周期中多次检测到缺页中断,CPU都会及时处理。由于缺页中断的独特性,缺页中断的处理过程需要由硬件和软件共同完成。硬件寄存器主要用于保护缺页时CPU未完成指令状态和恢复原指令的执行。软件为实现缺页中断的相应算法程序请求分页存储管理缺页中断又是非常特殊的一种中断,与一般中断有缺页中断处理流程图请求分页存储管理缺页中断处理流程图请求分页存储管理

虚拟存储器管理不可能在程序执行前将所有的程序页面放入内存,因此,在程序执行过程中需要逐步将程序页面调入内存。这样,在程序运行过程中完成逻辑地址到内存物理地址的变换,是动态重定位装入。请求分页存储管理虚拟存储器管理不可能在程序执行前将所有的程序页面放入内存具有快表的请求分页虚拟存储地址变换机构请求分页存储管理地址变换机构具有快表的请求分页虚拟存储地址变换机构请求分页存储管理地址变请求分页存储管理当进程被调度时,操作系统将进程PCB中的页表起始地址和长度装入页表寄存器中。CPU从逻辑地址中取得页号,根据页号查询快表,如果快表中有该页面的内存块号,则将内存块号与页内偏移一起作为该页在内存的物理地址;如果快表中没有该页面的内存块号,CPU从页表寄存器得到页表在内存中的起始地址,查询页表,得到该页的内存块号,则将该块号与页内偏移一起作为该页在内存中的物理地址,同时将该页的页号和内存块号写入快表,以备下次查询时使用。如果查询页表而没有得到该页的内存块号,即表示该页不在内存,产生一缺页中断信号,请求操作系统将该页面调入内存。请求分页存储管理当进程被调度时,操作系统将进程PCB中的页表请求分页存储管理在页面调入过程中,如果进程空间没有空余的页框,则系统需要调出一个页面后再将该页面调入内存,同时系统修改页表。请求分页的虚拟存储器管理采用请求页面调入方式,其实现需要硬件支持,增加了机器成本和系统开销。用于地址变换和各种数据结构的存储开销、执行地址变换指令的时间开销、内存与外存之间对换页面的I/O开销等与单纯的分页存储管理相比,虚拟存储器管理是以牺牲系统开销为代价,换取内存的逻辑扩充,换取系统运行程序的增大和吞吐量的提高。请求分页存储管理在页面调入过程中,如果进程空间没有空余的页框请求分页存储管理请求分页的硬件支持完成了分页虚拟存储器管理中的地址变换,但是,在实施分页虚拟存储器管理中需要解决如下的策略问题:调页策略调页策略用于决定何时将进程所需要的页面调入到内存分配策略分配策略决定系统应该给一个进程分配多少内存中的物理块,进程才能运行。内存置换策略内存置换策略用于决定内存中的哪些页面被换出内存。请求分页存储管理请求分页的硬件支持完成了分页虚拟存储器请求分页存储管理在虚拟存储器管理中,有两种调页策略:请求页(demandpaging)调入和预先页(prepaging)调入:请求页调入请求页调入是在CPU需要访问进程页面时,所访问的进程页面不在内存,则CPU发出缺页中断,请求将页面调入内存。操作系统接收到缺页中断请求后,分配内存页框并完成从外存调入页面优点:只有在需要时才将页面调入内存,节省了内存空间。请求分页存储管理在虚拟存储器管理中,有两种调页策略:请请求分页存储管理缺点:在进程初次执行时,开始会有大部分的页面调入内存,这时的进程切换开销很大。如果发生缺页时系统调入页面,而每次又仅调入一个页面,则启动磁盘作I/O的频率很高。由于每次启动磁盘时会产生一个时间延迟,因此,会造成系统用于I/O的时间增长,系统效率降低。对于执行顺序跳跃性大的程序,缺页情况变化大,难以趋向稳定的水平,从而引起系统不稳定。请求分页存储管理缺点:请求分页存储管理预先页调入预先页调入由操作系统根据某种算法,预先动态估计进程可能要访问的页面,并在处理器需要访问页面之前先将页面预先调入内存优点一次可将多个页面调入内存,减少了缺页中断的次数和I/O操作次数,系统付出的开销减少。如果预先动态估计准确率高,该调入策略会大大提高系统效率。缺点:如果预先动态估计准确率较低,调入的页面不被使用的可能性大,系统效率较低 如果程序员不能预先提供所需程序部分的信息,则该调度策略难以实施。请求分页存储管理预先页调入请求分页存储管理物理块的分配策略:为了合理和有效分配内存,内存物理块可以按照进程平均分配法、进程按比例分配法和进程优先权分配法进行分配。进程平均分配法在内存物理块的分配上,早期采用的是各进程机会均等进行分配的方法,即进程平均分配法。进程按比例分配法:根据进程的大小,进程按比例分配法为按照比例分配内存物理块数。如果系统中有m个内存物理块,n个并发进程,每个进程的页面数为si,则系统中每个进程能够分得的内存物理块数为:请求分页存储管理物理块的分配策略:内存物理块数也应该取整数。例如,如果内存能够提供62个内存物理块,并发进程有P1(有10个页面)和P2(有127个页面),则进程P1和P2分配到的内存物理块分别为:请求分页存储管理内存物理块数也应该取整数。请求分页存储管理请求分页存储管理进程优先权分配法对于在系统中所处地位重要、时间要求紧迫的进程,系统应该考虑给其分配较多的内存空间,使其加速完成。在实际应用中,将按比例分配法和进程优先级结合起来考虑,系统把内存中可以分配的物理块分为两部分,一部分按照比例分配给各并发进程,另一部分根据进程的优先权进行适当增加。对内存物理块分配还要考虑系统的多道度情况。如果随着系统运行,多道度增加了,则每个进程需要释放出一些内存物理块给新进程;相反,如果多道度减少了,则将回收的内存物理块再分配给剩余进程。请求分页存储管理进程优先权分配法对内存物理块分配还要考虑系统请求分页存储管理进程的最小物理块数不管给进程分配多少物理块,首要条件是保证进程的正常运行。因此,在内存物理块分配中有一个基本的界限,即最小物理块数。最小物理块数是保证进程正常运行所需要的最小内存块数进程需要的最小物理块数与计算机的硬件结构有关,取决于计算机的指令格式、功能和寻址方式。如果计算机采用单地址指令的直接寻址方式,则只需要用于存放指令的页面和存放数据的页面,最小物理块数为2;如果采用间接寻址方式,则至少需要3个物理块。对于功能较强大的计算机,指令长度可能会超过多个字节,指令本身需要跨过多个页面,则物理块的最小需要数会更大。请求分页存储管理进程的最小物理块数请求分页存储管理内存置换策略当需要运行的页面不在内存时,系统需要将其从外存调入内存。但是如果内存没有空闲空间提供时,则系统需要先从内存中选择页面换出内存后,再将需要的页面换入内存。选择被换出的页面有两种类型:全局置换和局部置换。请求分页存储管理内存置换策略请求分页存储管理可变分配全局置换最容易实现的物理块分配和置换策略。首先为系统中的每个进程分配一定数目的物理块,OS系统自身也保持一个空闲物理块队列。如果有页面需要换入内存时,则系统首先考虑从空闲物理块队列中分配,其次考虑从所有的进程中选择合适的页面换出内存。请求分页存储管理可变分配全局置换请求分页存储管理固定分配局部置换根据进程类型,或程序员的建议,为每个进程分配一定数目的物理块,在整个运行期间不再改变。当进程有页面需要换入到内存时,只能从当前需要页面的进程中选择页面换出到外存,该置换方法对其它进程没有影响,每个进程在内存中分得的内存物理块数不变。局限在于为每个进程分配多少个物理块难以确定。请求分页存储管理固定分配局部置换请求分页存储管理可变分配局部置换根据进程类型,或程序员的建议,开始为每个进程分配一定数目的物理块。当进程有页面需要换入到内存时,只能从当前需要页面的进程中选择页面换出到外存,该置换方法对其它进程没有影响。进程运行中频繁发生缺页,系统再为该进程分配若干附加的物理块,直至其缺页率减少到适当程度为止。请求分页存储管理可变分配局部置换页面置换虚拟存储管理的一个设计问题是:需要一个空闲页面时选择哪个页面来进行替换目标:减少缺页中断的次数,即减少缺页率举例:如果一个进程或一个作业在运行中成功的访问次数为S,即所访问的页面在内存中;不成功的访问次数为F,即访问的页面需要缺页中断并且需要调入内存;运行需要访问的页面的总次数为A:

A

=

S

+

F

则缺页率f为:

f

=

F

/

A页面置换虚拟存储管理的一个设计问题是:进程的内存物理块数进程分得的内存物理块数越多,缺页率越低。页面大小划分的页面越大,缺页率越低。程序的局部性如果编制的程序局部性好,则缺页率低。页面置换算法如果选取的置换算法优,则缺页率低。影响缺页率的因素进程的内存物理块数影响缺页率的因素置换算法最佳置换算法FIFO(firstinfirstout)先进先出页面置换算法LRU(leastrecentlyused)置换算法时钟更换工作集法置换算法最佳置换算法最佳置换最佳置换算法:选择一个随后最长时间不会被访问的页面进行替换最长时间不被使用的页产生缺页中断的次数最小要具备预知未来的能力预测未来很困难举例:假如某进程的页面号引用串为:601203052303212011601,系统为进程分配三个内存物理块。如下图所示。最佳页面置换算法缺页6次,缺页率为6/21。最佳置换最佳置换算法:最佳页面置换算法最佳置换最佳页面置换算法最佳置换FIFO页面置换更换最早进入内存的页面维护一个所有页面的链表按照它们进入内存的次序替换链表头部的页面缺点:可能出现最先加载进来的页面是经常被访问的页面,这样做很可能造成常被访问的页面替换到磁盘上,导致很快就需要再次发生缺页中断FIFO页面置换更换最早进入内存的页面假如某进程的页面号引用串为:601203052303212011601,系统为进程分配三个内存物理块。FIFO页面置换FIFO页面置换算法假如某进程的页面号引用串为:60120305最近最久未使用(LRU)置换算法LRU代表最近使用最少使用过去的数据预测未来时空局域性如果一个页面长时间没有被使用过可能以后的一段时间也用不到最近最久未使用(LRU)置换算法LRU代表最近使用最少最近最久未使用LRU置换算法LRU接近于OPT基本思想是替换一个旧页面不需要最旧的页面最近最久未使用LRU置换算法LRU接近于OPT最近最久未使用LRU置换算法举例:在LRU置换算法中引用串为:601203052303212011601,为进程分配三个内存物理块。置换过程如下图所示。缺页9次,缺页率为9/21。LRU页面置换算法最近最久未使用LRU置换算法举例:在LRU置换算法中引用串为最近最久未使用LRU置换算法使用一个页面链表最近被使用的页面在链表头,最近未被使用的在链表尾每次页面访问时更新这个链表在每一个页表项中使用计数器选择具有最小计数器值的页面周期性的将计数器清零最近最久未使用LRU置换算法使用一个页面链表使用矩阵实现LRU另一个选择是使用n×n矩阵这里n是虚拟空间中的页面数开始矩阵被设置为0当页面k被访问:将k行全部设置为1,k列全部设置为0需要替换页面时选择矩阵里对应行值最小的页面更换即可使用矩阵实现LRU另一个选择是使用n×n矩阵使用矩阵实现LRU页面访问顺序:0,1,2,3,2,1,0,3,2,30000000000001110Page012301230000000011011100Page01230000101110011000Page01230111001100010000Page01230011101100010000Page0123000110011101000001230000100011001110011100000100011000111011000000100111001100000010使用矩阵实现LRU页面访问顺序:0,1,2,3,2,1,0使用移位寄存器实现LRU给每个存放在内存的页面配备一个移位寄存器移位寄存器的初始值设为0在每一个规定长度的时钟周期:将移位寄存器的值向右移动一位并将对应页面的访问位的值加到该移位寄存器的最左位上当需要寻找一个页面进行更换时选择对应移位寄存器值最小的页面即可使用移位寄存器实现LRU给每个存放在内存的页面配备一个移使用移位寄存器实现LRU使用移位寄存器实现LRU时钟算法为每个常驻页维护访问位页面被访问过后访问位自动设置访问位可以被操作系统清零常驻页面被组织到时钟循环中针臂指向其中的一个页面时钟算法为每个常驻页维护访问位时钟算法查找一个要替换的页面时:查看正在被针臂指向的页面访问位=0:较长时间内没有被访问(自从上次轮询),置换该页访问位=1:自从上次轮询后页面被访问过,重新置0,暂不换出时钟算法查找一个要替换的页面时:时钟算法时钟算法除考虑页面访问情况外,还须考虑置换代价,即修改位A:访问位;M:修改位改进型时钟算法除考虑页面访问情况外,还须考虑置换代价,即修改位改进型时钟算工作集算法工作集是:最近的k次访问均涉及到的页面集合在最近的T秒或者T次中的所有页面w(k,t)表示在时间

t时k次访问所涉及的页面数量工作集算法工作集是:工作集算法工作集与最近访问次数的关系k(最近访问次数)工作集算法工作集与最近访问次数的关系k(最近访问次数)工作集算法10031…10861…20110…20301…………16801…19981…………20091…20080…………11851…最后使用时间访问位R页表当前时间:2220按下面方式扫描所有页面:If(R=1)将最后使用时间设置为当前时间继续扫描,并将访问位清零if(R==0&&age<T)

记住看过最早时间If(R==0&&age>T)

替换此页面工作集算法10031…10861…20110…20301……工作集时钟算法将工作集算法和时钟算法结合起来将内存里的页面组织到时钟圈里每个页面有一个最近访问时间和访问位需要更换页面时:从针臂指向的页面开始考察在工作集之外的访问位为0的第一个页面被替换工作集时钟算法将工作集算法和时钟算法结合起来虚拟存储器管理以进程运行的时间增长为代价换来系统更多的虚拟内存,是否值得付出这样的代价则需要从缺页率、页面大小等方面对系统性能的影响进行分析。页面调度性能虚拟存储器管理以进程运行的时间增长为代价换来系统1.缺页率对系统性能的影响用p表示缺页率,如果p

=

0,则不缺页;如果p

=

1,则始终缺页。抖动:由于缺页而引起的一种系统现象,即处理器频繁地处理页面的换出和调入,使得处理器实际处理程序的能力大大减小。“抖动”现象常在缺页率非常高时发生。用st表示缺页处理时间。缺页处理时间包括从外存取相关页面并将其放入内存的时间。用ma表示对内存一个页面的访问时间。用vt表示有效访问时间。在非缺页的情况下,vt

=

ma在缺页率为p的情况下,vt=

(1

p)

×

ma

+

p

×

st

页面调度对系统性能的影响分析1.缺页率对系统性能的影响页面调度对系统性能的影响分析在任何情况下,缺页处理时间由下面三个主要部分构成:(1)缺页中断服务时间;(2)读页面时间;(3)恢复进程时间。通过精简指令而减少缺页中断服务和恢复进程所花费的时间,使它们位于1ms-100ms之间。

页面调度对系统性能的影响分析在任何情况下,缺页处理时间由下面三个主要部分构成:页面在实际应用中,缺页不只使得缺页的进程运行减慢,还会影响其他进程的运行。如果一个进程队列阻塞等待某个设备,而该设备正用于一个缺页的进程,则等待设备的进程会等待更长的时间才能得到请求的设备。可见,缺页不只使得缺页进程本身的运行减慢,还使得整个系统的运行效率降低,系统性能下降。因此,在分配进程物理块和选择置换算法上,需要周全考虑。页面调度对系统性能的影响分析在实际应用中,缺页不只使得缺页的进程运行减慢,还会影响其他进2.对换空间处理对系统性能的影响访问磁盘上对换空间的速度比访问磁盘上文件系统更快。因为对换空间比文件系统分配的磁盘块更大,同时又不需要文件查询和间接分配。这样,系统可以采用在进程开始时将整个文件映像拷贝到对换区,然后再从对换区完成调入页面的方法。页面换入时,直接从对换区调入。页面换出时,如果被修改过,则需要写入对换区;否则不需要写入对换区。因此,利用硬盘上的对换空间,加快对换空间的访问速度,可加快进程页面的调入与调出,减少页面置换时间,提高系统性能。页面调度对系统性能的影响分析2.对换空间处理对系统性能的影响页面调度对系统性能的影响分析3.页面大小对系统性能的影响页面大小对性能的影响可以从以下几个方面分析。

页表由于每个作业运行时,页表都需要存放在内存,如果页面大,则页表会更小,页表占用的内存小。

从磁盘读写页面次数除内存外,页面也需要存放在磁盘上。如果页面大,则系统从磁盘上读入页面到内存的次数少,有利于提高I/O的效率。页面调度对系统性能的影响分析3.页面大小对系统性能的影响页面调度对系统性能的影响分析

页内碎片在分页的情况下,如果页面小,则作业的内存碎片少。在不考虑磁盘读写页面对页面大小的影响,只考虑页表和作业占用的内存碎片情况下,理论上可以求得最佳页面大小。如果用A表示用户作业的平均长度(单位为字节),L为页面长度(单位为字节),n为页表项所需要的字节数,每个作业的页表占用的字节数为nA/L。假定作业的平均碎片为L/2,则内存附加的开销为:

K

=

nA

/

L

+

L/2对该公式求极小值,即对L求一阶导数,得到:页面调度对系统性能的影响分析页内碎片页面调度对系统性能的影响分析为最佳页面长度。通常情况下,页表项所需要的字节数为常数,如为8或4,页面大小L与用户作业的平均长度成非线性增长关系。如果系统运行的作业较长,则页面会较大。但是,通常意义下,页面的基本大小由计算机处理器决定。如IBM370系列的页面大小为2

048B或4

096B,IBM400的页面大小为512B,Motorola68040的页面大小为4

096B,Pentium的页面大小为4

096B。页面调度对系统性能的影响分析为最佳页面长度。通常情况下,页表项所需要的字节数为常4.编制程序对缺页率的影响在程序编制过程中,程序员应该注意程序的局部性。程序编制方法不同,产生缺页率的不同,对系统性能的影响也不同。如果程序员在编程时考虑了可能引起的缺页中断,并使系统运行时尽量少地产生缺页中断,则会提高系统的性能。

页面调度对系统性能的影响分析4.编制程序对缺页率的影响页面调度对系统性能的影响分析请求分段存储管理方式将用户程序的所有段首先放在外存中,当用户程序被执行时,系统再逐步从外存调入所需要的段进入内存。请求分段的硬件支持段表机制缺段中断机制地址变换机构请求分段存储管理方式将用户程序的所有段首先放在外存中,当用户请求分段存储管理方式段表机制段名段长段基址存取方式访问字段A修改位M存在位P增补位外存地址存取方式:标识段存取属性访问字段:段是否被访问修改位:段进入内存后是否被修改过存在位:段是否在内存增补位:请求分段系统的特有字段,标识在运行过程中是否有过动态增长外存地址:段在外存的起始地址请求分段存储管理方式段表机制段名段长段基址存取请求分段存储管理方式缺段中断机构请求分段存储管理方式缺段中断机构请求分段存储管理方式地址变化机构否否否是是是请求分段存储管理方式地址变化机构否否否是是是请求分段存储管理方式分段的共享和保护共享段表共享进程计数存取控制字段段号:不同的进程可以使用不同的段号去共享段段名段长内存地址状态外存地址共享进程计数状态进程名进程号段号存取控制请求分段存储管理方式分段的共享和保护段名段长内存地址状态外存请求分段存储管理方式分段的共享和保护共享段的分配与回收分配:第一次访问:分配内存,(1)增加共享段表;(2)修改进程段表。第二次访问:(1)修改共享段表;(2)修改进程段表。回收:(1)count=0(2)count<>0请求分段存储管理方式分段的共享和保护请求分段存储管理方式分段的共享和保护分段保护越界检查:段号越界检查;段内偏移越界检查。存取控制检查:R;R/W;E环保护机构(1)内环可访问外环数据;(2)外环可请求内环服务。请求分段存储管理方式分段的共享和保护Windows2000/XP运行在IntelPentiumCPU硬件平台。下面介绍IntelPentium的工作模式。

IntelPentiumCPU提供三种工作模式:实地址模式(realmode)、虚地址模式(又称为保护模式,protectionmode)和虚拟模式(virtualmode)。

实地址模式采用段式存储器管理或单一连续存储器管理,不启用分页机制,只能寻址1MB地址空间。DOS操作系统采用这种模式。

虚地址模式采用三种内存管理方式:段式虚拟存储器管理、页式虚拟存储器管理和段页式虚拟存储器管理。Linux和Windows操作系统采用这种模式。

虚拟模式是在保护方式下的实地址模式的仿真。Windows2000/XP系统存储器管理实例Windows2000/XP运行在IntelWindow2000/XP采用请求页式虚拟存储管理,提供32位的虚拟地址,为每一个进程提供一个受保护的4G虚拟地址空间。虚拟地址空间布局为低2G的地址空间为用户程序区,高2G的地址空间为操作系统区,如图所示。Windows系统虚拟存储器地址布局基于分页管理的Windows2000/XPWindow2000/XP采用请求页式虚拟存储管理,提供3系统区又分为固定页面区、页交换区和操作系统驻留区。固定页面区中存放关键的系统代码,页面不可与外存对换;页交换区存放非常驻系统代码和数据,可以与外存进行页面对换;操作系统驻留区存放操作系统内核、执行体和引导驱动程序以及硬件抽象代码层,非常重要永不失效,为了加快运行速度,这一区的寻址由硬件直接映射。另外,在操作系统引导时,也可以选择另一种地址分配方式:3GB用户程序区和1GB操作系统区。这种情况主要用于运行大的用户程序。基于分页管理的Windows2000/XP系统区又分为固定页面区、页交换区和操作系统驻留区。基于分页管1.页表在Windows2000/XP系统中的页表如下图所示。Windows2000/XP系统中的页表基于分页管理的Windows2000/XP1.页表Windows2000/XP系统中的页表基于分页管2.逻辑地址到物理地址的变换在Windows2000/XP系统中的32位逻辑地址被划分为:页表目录索引、页表页索引和页面。其中页表目录索引占10位,页表页索引占10位,页面占12位。页表机制为2级页表,页面大小为4K。分页管理中采用了二级页表结构实现进程的逻辑地址到物理地址的变换,如下图所示。基于分页管理的Windows2000/XP2.逻辑地址到物理地址的变换基于分页管理的Windows2Windows系统的二级页表结构物理块号块内偏移第一级页表页表目录逻辑地址

31222112110页表目录索引页表页索引页面第二级页表页表物理地址基于分页管理的Windows2000/XPWindows系统的二级页表结构物理块号页目录用来指向进程页表地址。每个进程都拥有自己的页目录。在地址变换时,操作系统从运行进程的进程控制块中得到进程页目录的起

温馨提示

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

评论

0/150

提交评论