计算机操作系统许曰滨版第五章_第1页
计算机操作系统许曰滨版第五章_第2页
计算机操作系统许曰滨版第五章_第3页
计算机操作系统许曰滨版第五章_第4页
计算机操作系统许曰滨版第五章_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机操作系统原理存储管理概述 存储管理必须实现的4大功能 存储管理用到的数据结构 连续存储管理方法(单分区、多分区)离散存储管理方法(分页、分段、段页)存储器外存储器永久存放信息容量大速度慢内存储器容量有限速度快内存储器是一种随机存储器,各种程序只有装入内存储器才能运行需要解决什么问题?如何分配?如何回收?如何共享?如何扩充?5.1 概述内存储器(Memory),简称内存由存储体和辅助电路组成存储体中包含若干存储单元,每个存储单元可存放一条独立信息读、写数据以存储单元为基本单位存储单元也成为“内存地址”SDRAM时代DDR时代DDR2时代DDR3时代DDR4时代7内存储器的组成内存储器的组成

2、内内存存储储器器的的组组成成图图 85.1.2 5.1.2 存储管理的主要功能存储管理的主要功能存储管理模块的功能是对内存用户区的存储管存储管理模块的功能是对内存用户区的存储管理,主要概括为以下理,主要概括为以下4 4个方面个方面:1.1. 地址重定位地址重定位2.2.内存分配与回收内存分配与回收3.3.内存共享与保护内存共享与保护4.4.内存容量扩充内存容量扩充 9逻辑地址:逻辑地址:是用户在其程序中使用的一种地址。由逻辑地址构成的地址空间称逻辑地址空间,其首地址是0号地址,其它指令的地址都是相对于0号地址排定的。物理地址:是存储单元的实际物理单元地址。一、一、地址重定位地址重定位 将逻辑地

3、址转换成内存的物理地址的过程,称为地址地址“重定位重定位”,地址重定位可分为静态重定位静态重定位和动态重定位动态重定位两种方式。静态重定位这是在程序运行前,由“装载”过程实现的重定位。当把一个程序装入内存时,对用户代码中使用的逻辑地址作适当调整,转换成内存的物理地址转换完成后,再将用户代码装载到该物理空间中其后,程序使用的地址空间将不再改变动态重定位采用这种方式的硬件结构中专门设置一个“重定位寄存器”,当存储管理系统为作业分配了一个内存区域后,就把该区的起始地址放到重定位寄存器中程序的物理地址将是逻辑地址和重定位寄存器的内容之和12动态重定位需要硬件支持允许执行过程中实现操作数的地址转换保持原

4、有逻辑空间关系可以在内存中浮动静态重定位无需硬件支持 不允许。需要修改用户程序原有的逻辑关系被破坏要求程序放在连续的存储空间中二、内存分配与回收 在多道程序环境下,当系统需要装载一个用户作业时,作业调度程序将存储管理模块启动起来,按某种方式分配存储空间,并将程序代码装入。内存的分配有静态分配和动态分配两种方式。静态分配在进程执行前实施的内存空间分配。在这之后,系统不再接受进程的申请,也不允许进程在内存中移动(变更所占空间)动态分配进程在运行过程中实施的内存空间分配。也就是说,系统允许进程在运行过程中随时申请内存空间三、内存的共享与保护 多道程序环境中,多个用户作业都对内存空间提出申请,为提高内

5、存利用率,应该对内存空间实现共享。共享包括两个方面的含义:共享内存储器资源,让多个进程同时进入内存区域,共享同一个存储器共享内存储器的某些区域,即允许两个或多个进程访问内存中的同一段程序或数据 内存保护上下界存储保护技术保护键法上下界存储保护技术CPU中设有一对上下界寄存器,登记当前进程所占内存空间的上下界地址对内存进行访问时,首先做地址码的合法性检查。若程序中访问的地址码,不超出上下界寄存器所规定的范围,则访问是合法的;否则视为非法。对于程序的非法地址访问,硬件将转入“越界中断”处理每个进程的PCB中设置上下界寄存器保护域,存放进程的上下界地址。当该进程被调度时,此两项地址将与其它现场保护信

6、息(如程序状态字PSW、程序计数器PC等)一起置入CPU中四、内存容量扩充内存容量是有限的内存扩充不是硬件上的扩充,而是用存储管理软件来实现的逻辑扩充例如,当有一个比内存容量还要大的程序要求运行时,内存不能一下子存储作业的全部程序,操作系统可采用“虚拟存储”技术,在外存的辅助下实现内存容量扩充覆盖技术,对换技术,虚拟存储技术等(第6章) 5.1.3 存储管理的数据结构设置一些数据结构等级内存的使用情况常见的数据结构有:内存分配表、空闲区表和位示图等内存分配表MAT,Memory Allocation Table内容包括各分区的分区号、起始地址、长度和占用标志等分区号:每个分区都有一个编号,用以

7、区别不同分区起始地址:分区的起始地址,即首地址长度:分区的总长,一般以KB为单位占用标志:记录分区的使用状态。0为空闲,非0位占用空闲区表/链记录内存空闲区状况为什么有了分配表了,还需要空闲区表?空闲区和分配区交叉在一起查找空闲区就得从头逐一扫描,费时将空闲区组成一个链表,一个结点代表一个空闲区 空闲区表中各空闲区可按地址顺序来排列,也可按尺寸大小来组织。当系统进行内存分配时,进行的处理是:通过空闲区表/链,快速搜索内存的空闲区从中找出最合适的分区分配出去将该结点从链上删除当需要回收某块被释放的区域时,系统处理过程为:按其地址或者大小在链中找到合适的位置插入一个新结点如果存在相邻的空闲区,则需

8、要的话可将相邻空闲区合并位示图 位示图是存储器的一种存储空间映像,系统可以根据位图来进行存储空间的管理5.1.4 存储管理的主要方法单一连续区方式 - 内存全部空间只存放一个作业分区方式 - 内存被分成多个分区,每个分区放一个作业,每瞬间可有多个作业驻留内存分页方式 - 内存被划分成多个等长的存储块,可有多个作业驻留内存分段方式 按照段的长度分别分配内存空间,可有多个作业驻留内存。配合分页式,构成段页式管理模式分配的内存空间是连续的分配的内存空间是连续的分配的内存空间是离散的分配的内存空间是离散的5.2 单一连续区管理单连续区存储管理方式,把内存的用户区视为一个独立的连续存储区,任何时刻只将它

9、分配给一个作业使用。这种存储管理非常简单,适用于单用户单任务系统(如,MS-DOS操作系统的早期版本)。单一连续区的内存分配如果内存的用户区小于请求的存储空间n,将分配失败信息反馈给申请者结束将程序加载到内存用户区中将分配成功的信息反馈给申请者单一连续区的内存回收将内存中的程序和数据调出去对用户区进行必要的清理和初始化操作单一连续区管理的缺点CPU的利用率不高。因为任何时刻最多只有一个程序独占内存,无论在该程序执行过程中,还是CPU等待I/O时都不能让其他用户使用。内存空间浪费严重。进入系统运行的大多数用户作业的尺寸不可能正好等于整个内存用户区的大小,当作业所要求的存储空间较小时,剩余较大的空

10、白区未被利用,只能白白浪费。外设利用率较低。计算机的外部设备(比如,输入/输出设备)均被单个用户所占用,因此利用率不高。不论该用户是否使用,其它用户都无法使用。5.3 分区管理建立在单一连续区的基础上适用于多道程序运行环境思想:将内存用户区划分成多个存储分区(除操作系统所占空间外),每一个分区可以装入一个进程,内存中就可以同时容纳多个进程固定分区思想:将内存用户区划分成若干固定长度的存储块进行分配。分区的划分过程通常在系统生成时完成。各分区长度不要相等一、内存的分配与回收分区号分区号起始地址起始地址长度长度占用标志占用标志0 04k4k6k6k未分未分1 110k10k2k2k已分已分2 21

11、2k12k15k15k已分已分3 327k27k34k34k未分未分分配从头到尾扫描内存分配表,找到满足需求的分区将标志设为“已分”将分区的起始地址返回给用户回收从头到尾扫描内存分配表,找到该分区在表中的位置将其占用标志设为“未分”二、内存保护设置“上界寄存器”和“下界寄存器”某个进程运行时,系统将该进程所占的物理存储区的上限和下限地址分别送入这两个寄存器上三、固定分区的缺点浪费存储空间,产生很多内碎片内碎片:作业获得的空间大于需求的空间时多出来的一小部分用户根本不需要的空闲区动态分区思想:系统不预先划分固定分区,而是在装入一个作业时,根据该用户作业的实际需求量划分出一个分区给它使用。若无足够

12、大的连续空闲区供作业使用,则该作业只好等待一、内存的分配与回收动态分区分配算法可描述如下:(1)从头到尾扫描空闲分区表,找到一个能满足需求的空闲分区MATi。(2)若MATi(长度)= L,则:MATi(占用标志)=“已分”,转(4)。(3)若MATi(长度)L,则:-1 L0 =MATi(长度)-L。 -2 MATi(长度)=L;MATi(占用标志)=“已分”。 -3 在内存分配表的下一个位置插入新行MATi+1。 -4 MATi+1(起始地址)=MATi(起始地址)+L。 -5 MATi+1(长度)=L0。 -6 MATi+1(占用标志)=“未分”。(4)结束。 当用户归还一个起始地址为M

13、的分区时,系统回收应做的处理是:如果这个空闲区与其它空闲区相邻,则系统把它们合并成一个连续的大空闲区,以适应大作业的存储需求。下面是回收过程:(1)在内存分配表中找到该分区的位置MATi。(2)MATi(占用标志)=“未分”。(3)若MATi-1(占用标志)=“未分”&MATi+1(占用标志)=“未分” ,则: 3个相邻空闲区合并为一个。否则:(4)若MATi-1(占用标志)=“未分” ,则: 2个相邻空闲区合并为一个。否则:(5)若MATi+1(占用标志)=“未分” ,则: 2个相邻空闲区合并为一个。(6)结束。5.3.3 分配算法算法负责管理将哪个分区分配出去:首次适应算法(First F

14、it)循环首次适应算法(CFF, Circle First Fit)最佳适应算法(BF, Best Fit)最坏适应算法(WF, Worst Fit)首次适应算法 首次适应算法也称为最早适应算法。系统将内存分区按地址递增顺序登记到内存分配表(或其它数据结构)中。每次进行内存分配时,系统根据进程申请空间的大小,从头到尾顺序扫描内存分配表(或其它数据结构),从中找到的第1个能够满足要求的空闲区,就立即分配出去。首次适应算法产生大量碎片每次内存分配时,都是从头到尾顺序查找,使地段地址空间使用频繁,而高端地址空间较少使用循环首次适应算法(CFF)思想:每次存储分配总是从上次分配的位置开始,向尾部查找。

15、查到的第1个可满足用户需求的空闲空间,就立即分配给用户。当查到MAT(或空闲链表)的尾部仍然没有合适的,则转到头部重新开始46 下面的例子中,MAT有8个分区,其中带阴影的分区是已经被占用的。假设上次分配的是1#分区,则当前的指针位置是2#分区。如果有一个用户请求40KB,则系统将按顺时针方向,找到5#分区分配给用户。 最佳适应算法(BF) 在内存分配时,从空闲区表中找到一块满足进程需求的最小空闲区分配给它,使剩余空间最小。这种做法减少了将大空闲区进行多次分割造成的空间浪费。但容易形成一些很小的碎片无法使用,同样不能提高内存利用率。另外,每次分配时,都要对整个内存区进行从头到尾的搜索,系统开销

16、较大。最坏适应法(WF) 在进行内存分配时,从空闲区表中找到一个满足长度要求的最大空闲区进行分配,使得剩下来的空闲区不致太小,还可以利用。这种算法部分地缓解了由外碎片引起的浪费,适合于中小作业的运行,但对大作业的运行是不利的。与最佳适应算法一样,每次分配需要搜索一遍内存,效率会受到一定影响。5.3.4 可重定位动态分区管理 动态分区管理方式灵活,缺陷是外碎片带来的空间浪费。要周期性地清除外碎片将动态分区技术与重定位技术相结合就可以解决这一问题。 动态重定位技术是允许进程在内存中浮动的。当内存中出现一些外部碎片后,可以将各个进程进行“搬家”,让它们移动到内存的一端,使所有的外部碎片移动到另一端。

17、这样就可使若干零星的碎片合并成一个大的空闲区了。这一过程也称进程浮动。 进程浮动的时机:若内存可用空间总量充足,但因充满了外部碎片不能满足一个用户的需求,可进行浮动。5.3.5 伙伴系统 在伙伴系统中,一个内存分区的大小是可变的。系统初始时,整个用户空间s被看作是一个分区。当有一个用户请求的空间尺寸为p时,BS的准则是: (1)若s=p s/2,则将整个分区分给用户使用。 (2)否则,将分区分成大小相等的两个伙伴,每一个的尺寸为s/2。 (3)若s/2=p s/4,则将两个伙伴分区中的一个分给用户使用。 (4)否则,将一个伙伴再分成大小相等的两个小伙伴,每个小伙伴的尺寸为s/4。 (5)若s/

18、4=p s/8,则将两个小伙伴分区中的一个分给用户使用。按照这种思想将分区不断分裂,直到分配一个适合用户使用的空间为止。伙伴系统的分配过程可构成一棵二叉树,树中的叶结点表示当前的分区情况。进程A需要100K;进程B需要50K;进程C需要100K;进程A释放所占内存进程D需要20K;进程D释放所占内存伙伴系统的特点允许保留部分内碎片分区尺寸随用户需求不断变化内碎片不会太大5.4 分页存储管理分页存储管理,是按照程序页面进行管理的一种方法。内存的用户空间被划分为一些大小相等的存储块,通常称为“帧”(frame),或“页框”。系统把每个进程划分成与帧同样大小的块,通常称为页面(page)。让每个页面

19、存入一个帧中。当某个进程申请内存空间时,系统根据进程的长度计算出它所需要的帧数,然后,扫描MAT,选择内存中的若干可用帧分配给该进程,整个分配一次性完成。可以将进程的所有页面分配到互不连续的若干帧中,因此是一种离散空间分配形式。5.4.1 页面设系统的用户区有10个帧,帧长度为1K,进程A、B、C各需要3K。它们依次进入内存,占据9个帧的位置。此后,进程B运行结束释放所占的内存空间,系统接纳了进程D。D需要4K内存,系统将它放在4个帧中。分配过程如图。提出问题:每一帧分配什么尺寸比较合适?分页管理和固定分配一样,存在内碎片平均每个进程的空间浪费为L/2一般来说,帧的长度为1-4kb,此长度通常

20、与进程的平均长度、内存空间尺寸以及数据交换速度有关5.4.1 2 页面划分 为了使内存访问能够准确定位,系统需要将用户程序代码划分为若干页面,使原本一维的地址空间(也就是线性空间)分成低端地址和高端地址两部分。低端地址部分,作为页内的偏移量(即页内地址);高端地址部分作为页号。 比如,系统规定页面的长度为1024个字节,则页内地址可用10个二进制位表示(1024=210)表示。若机器的地址码是16位二进制数时,其中高6位代表页号,低10位代表页内地址。即: 6位位10位位页号页号页内地址页内地址5.4.1 3 页表为了保证程序的正确运行,分页管理机制应为每个进程建立一个数据结构页表PT(Pag

21、e Table)。页表中登记进程各页面对应的帧号,供地址映射使用。 页号帧号权限00R14R25W37R/W5.4.2 页面分配(1)计算请求者需要的总帧数N。(2)查位图,若找不到足够的空闲帧,编制“分配失败”报告返回。(3)索取一个空闲页表PT。(4)从位图中找出N个为0位,计算出对应的帧号,填入PT。(5)将这些位改为1。(6)将PT起始地址填入进程的PCB中。(7)结束。645.4.35.4.3 页面共享页面共享 1 1、可重入技术、可重入技术 在多道程序运行环境中,可重入技术是一项很有用的技术。它可以帮操作系统解决多任务共享同一程序的问题。一个可共享程序不能让指令和变量交织在一起,必

22、须让程序和变量分开。 让程序中不发生变化的部分指令代码,单独存入一个程序体中,形成所谓的“纯码”。让程序的操作对象存放(中间)结果的变量由各调用者自备。这样,多任务共享同一个程序就成为可能的了。 652 2、共享的实现、共享的实现 页面共享页面共享,指的是一个页面同时供多个进程使用。带来了一个很重要的问题,即用户访问权限问题。 系统中提供的共享页面,可能具有不同的调用方式。例如,对于“共享程序”页面,通常只允许执行,不允许写入;而对于“共享数据”页面,可能既允许一部分进程读出,也允许一部分进程写入。 比如,内存中的共享页有两个,它们分别存在第3帧和第4帧中。内存中的两个进程P1和P2,按下一页

23、图的方式共享它们。总结分页式存储管理离散存储,利于大进程装入只有很少的页内碎片,提高内存利用率DS:位示图、页表动态地址重定位 逻辑地址 物理地址 一维、二维 二维、一维页面共享不易实现5.5 分段管理技术模块化和层次化的程序结构逐渐成为设计的主流应用程序中的每个功能模块有一个独立的段名,每个段含有若干条命令或数据段,指的是一组逻辑信息,如主程序、过程、函数或者数组等。例子:project ara和LG G55.5.1 分段管理的基本原理 在结构程序设计中,用户的源程序使用的是二维地址。段中访问一个变量时,地址形式为:。例如,一个进程P包括3个程序段:Main(主段)、Sub1(子段1)和Su

24、b2(子段2)。图给出各个段之间的调用关系。分段管理和分页管理在调用方式上有差别段的长度不同,为各个段分配等长的存储空间是不现实的所以,考虑了类似动态分区的分配机制分页 类似于固定分区,分段 类似于动态分区容易产生段之间的小碎片在分段机制中,一个进程的地址空间可以包含以下不同的段:代码段数据段堆栈段内存共享段5.5.2 段表 与分页管理一样,分段管理也是一种支持离散空间分配的机制。为了使程序能够正常运行,系统也必须能够定位各个段的物理位置。为此,应当仿效分页管理系统的做法,为进程建立地址映射的数据结构段表。段表ST,是用来记录各个段地址映射关系的表格,每个进程有一张。各个分段在内存空间中的对应

25、位置都登记在段表中。 例:一个进程含有3个分段:Main、Sub1和Sub2(其中Main是主段),长度分别为2K、4K和1K。系统需要分配3块的空间分别存放它们。比如分配的3块不连续的存储区,首地址分别为:14K、3K和7K。一般来说,分段数量不会很多一般采用大小不等的分段方式分配内存空间时,一并为进程制作一个段表,驻留在内存中那么,内存使用情况使用什么数据结构比较合适?MAT还是空闲分区表?这里用的MAT和动态多分区中的MAT表有何区别?一个段相当于一个分区,一个进程离散成多个段装入多个不连续的分区中5.5.3 地址变换与分页管理类似,区别在于段是信息的逻辑单位,由用户划分;页是信息的物理

26、单位,长度是固定的,和用户无关分段管理的地址变换是在硬件的协助下完成需要段表基址寄存器STBR和段表长度寄存器STLR76逻辑地址逻辑地址: : 二维二维 段号段号 段内地址段内地址物理地址物理地址: : 一维物理地址一维物理地址查查段段表表硬件支持硬件支持: : CPUCPU设设段表控制寄存器段表控制寄存器,记录当前进程的段记录当前进程的段表的起始地址和段表的起始地址和段表长度表长度段段起起始始地地址址累加累加程序运行中的地址变换过程如下:(1) 提取逻辑地址中的“段号”。(2) 比较段号与STLR的段长度。如果超出段表长度,则返回“内存定位错误”,终止进程的运行。(3) 从STBR中给出的

27、段表首址开始,以段号为索引查找该进程对应的段表,得到欲访问段的首地址。(4) 取出欲访问段的首地址,加上逻辑地址中的偏移量得到物理地址。5.5.4 分段保护与分享 分段管理模式下的信息保护分两级。第一级是防止进程发生超出存储空间的访问,第二级是阻止进程超出访问权限的读写。这里主要介绍一下第一级保护。共享:分段存储管理可以方便地实现内存信息的共享。由于段具有完整的逻辑意义,因此非常适合按段进行访问。如果多个用户进程需要共享内存中的某些代码段或数据段时,可将内存中共享段的起始地址及长度,填入这些进程的段表当中,就可共享一个逻辑上完整的段信息了。“段”与“页”分段管理方式中的地址变换与分页管理方式中

28、的十分相似。不过,段是信息的逻辑单位,是由用户自己划分的,其大小是随机的;而页是信息的物理单位,长度是固定的,用户根本看不到页的划分。5.5.5 段页式管理 这种管理方式可以看作是分段与分页两项管理技术的结合。系统为一个含有多分段的进程分配内存时,首先为这些分段建立段表,将各段长度填入表中。接下来为每个段分配地址空间。在这种系统中,各分段有一个页表,其首地址存放在段表中。比如某个进程有3个段,各自对应一个页表。假设内存中的帧长为2K,段表结构和页表结构可通过图所示的形式给出。5.5.5 段页式管理 这种管理方式可以看作是分段与分页两项管理技术的结合。系统为一个含有多分段的进程分配内存时,首先为

29、这些分段建立段表,将各段长度填入表中。接下来为每个段分配地址空间。在这种系统中,各分段有一个页表,其首地址存放在段表中。比如某个进程有3个段,各自对应一个页表。假设内存中的帧长为2K,段表结构和页表结构可通过图所示的形式给出。84 这种系统的地址变换比较复杂。系统的硬件支持是,在处理机内部设有段表控制寄存器及地址生成逻辑。程序中的逻辑地址仍然是二维地址:。其中的偏移量将被分成两部分:页号和页内偏移量。这样一来,地址部分被当作三维地址来处理:855.6 关于分页讨论页面尺寸 设某系统中的用户区有M个字节,规定的页面尺寸为P个字节。假定进入系统的进程长度平均为S个字节,则 内存中可容纳的进程数为M

30、/S个; 每个进程的页表长度为S/P字节(设每一项只占1个字节); 系统为了支持分页管理机制,需要开辟的页表区总容量为S/P*M/S字节。 另外,每个进程平均浪费P/2字节,全部进程总的浪费为M/S*P/2字节。87这样,系统额外开销的总字节数为: S/P*M/S + M/S*P/2为了达到额外开销比最小,可令: F(P)=(S/P*M/S + M/S*P/2)/ M =(M/P + MP/2 S)/ M = 1/P + P/2 S 对F(P)求导,令一阶导数为0,得: 从该式可以看出,页面尺寸P是与进程平均长度S有关的参数。只有满足上述关系时,内存的额外开销才会达到最小。SP288二、多级页

31、表结构二、多级页表结构 请计算:一个由32位二进制组成的地址空间,页面长度为4KB,每个页表项占用4B,则:进程的页面总数可达 个。整个页表占用 。如果高一级的页表也必须用多个帧来存放,那么还需要建立更高一级的页表多级页表那么问题又来了:页表本身怎么存放?将进程的页表按帧的长度划分为多个页面,并建立高一级的页表来索引它们两级页表89计算题计算题1. 1. 一个由32位二进制组成的地址空间,页面长度为4KB,每个页表项占用4B。 (a)采用一级页表机制,所允许的进程的最大长度是( )。(b)采用两级级页表机制,所允许的进程的最大长度是( ) 。90因页面长度为4KB,所以页内偏移占12位;余下2

32、0位对应页号,所以进程的页面总数可达1M个;整个页表占用4MB,这4MB又划分为1K个页面;一个页面正好可存放1K个页表项;所以,为了查找这1K个页面,需建立两级页表结构。那么,相对地址被分成a、b、c三个域,a、b用于两级页表,c用于页内偏移地址。即:外层页号a和内层页号b各占10位,偏移量c占12位计算题计算题2:若一个由32位二进制组成的地址空间,页面长度为4KB,每个页表项占用4B,请问地址结构。9192在多级页表机制中,处理机中要设有外部页表寄存器,存放当前进程的外部页表首地址。系统根据指令给出的相对地址进行变换,过程为:用逻辑地址中的外层页号a查外层页表,得到内层页表首地址。用逻辑

33、地址中的内层页号b查内层页表,得到数据帧号。将数据帧的首地址加上偏移地址c得到物理地址。93多级页表机制的地址变换过程 94 三、快表快表(1)存储在高速缓存;(2)内容为页表中最近使用的页表项95 对于对于CPU给出的一个相对地址给出的一个相对地址,引入快表之后的地址变换过程是:引入快表之后的地址变换过程是:(1)硬件逻辑中,将逻辑地址中的页号P送入高速缓存,与其中的所有页号进行比较。找到相匹配的页号后,读出该页面对应的帧号,送物理地址寄存器,与偏移量W共同合成一个访问内存的物理地址。(2)若高速缓存内找不到相匹配的页号,表示欲访问的页号不在快表中。系统需要再访问内存中的页表。找到该页的帧号,送物理地址寄存器与偏移量W共同合成访问内存的物理地址。同时,将该页及帧号复制到快表中。此时,如果高速缓存已没有空闲位置,应找到一个最不常用的页表项淘汰掉,换入新的页表项。96下图给出了转换过程,中间部分是保存快表的高速缓存。97一般地,当查询快表的命中率为一般地,当查询快表的命中率为p,则平均内,则平均内存有效访问时间存有效访问时间T大约为:大约为:)2()1

温馨提示

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

评论

0/150

提交评论