c4_存储体系

上传人:野鹰 文档编号:2908628 上传时间:2017-07-28 格式:PPT 页数:103 大小:499KB
返回 下载 相关 举报
c4_存储体系_第1页
第1页 / 共103页
c4_存储体系_第2页
第2页 / 共103页
c4_存储体系_第3页
第3页 / 共103页
c4_存储体系_第4页
第4页 / 共103页
c4_存储体系_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《c4_存储体系》由会员分享,可在线阅读,更多相关《c4_存储体系(103页珍藏版)》请在金锄头文库上搜索。

1、1,第四讲 存储体系,西北工业大学计算机学院周兴社 谷建华 张凯龙,2,存储管理的基本原理Windows2000/xp内存管理Windows2000/xp外存管理Windows2000/xp高速缓存管理,3,存储管理是指存储器资源的管理,主要指内存并涉及外存 。存储器资源的组织(如内存的组织方式)地址变换(逻辑地址与物理地址的对应关系维护)虚拟存储的调度算法依据访问速度、匹配关系、容量要求和价格寻找合理的存储结构寄存器内存外存寄存器缓存内存外存,4,寄存器缓存内存外存,快速缓存:Data CacheTLB(Translation Lookaside Buffer)内存:DRAM, SDRAM等

2、;外存:软盘、硬盘、光盘、磁带等;从上到下访问速度越来越慢容量越来越大价格越来越便宜该组织方式的最佳状态应该是各层次的存储器均处于均衡的繁忙状态,5,4.1 存储管理的基本原理,内存管理方法包括内存的分配和回收、地址变换、内存共享和保护等连续分配存储管理方式为一个用户程序分配连续的内存空间覆盖和交换技术较小内存支持较大程序或多个程序运行页式和段式存储管理将进程地址空间分散到许多不连续的空间,6,连续分配存储管理方式,单一连续存储管理内存分为系统区、用户区用户程序装入用户区,可使用全部空间特点:简单,适合于单用户、单任务操作系统不足:造成内存浪费;程序全部装入,即使很少使用的部分;,7,分区式存

3、储管理把内存分为大小相等/不等的分区,OS占其中一区;每一程序占一个或几个分区特点:适用于多道程序系统和分时系统支持多个程序并发执行难以进行内存分区的共享新问题:内碎片、外碎片碎片:即很小的内存块,几乎不能为其他应用程序使用内碎片:占用分区之内未被利用的空间外碎片:占用分区之间难以利用的空闲分区。,8,内存紧缩:将各个占用分区向内存一端移动。使各个空闲分区聚集在另一端,然后将各个空闲分区合并成为一个空闲分区。对占用分区进行内存数据搬移占用CPU时间如果对占用分区中的程序进行浮动,则其重定位需要硬件支持。紧缩时机:每个分区释放后,或内存分配找不到满足条件的空闲分区时,9,固定分区分区大小相等:只

4、适合于多个相同程序的并发执行(处理多个类型相同的对象)。分区大小不等:多个小分区、适量的中等分区、少量的大分区。根据程序的大小,分配当前空闲的、适当大小的分区。优点:易于实现,开销小。缺点:内碎片造成浪费分区总数固定,限制了并发执行的程序数目。,10,固定分区(大小相同),固定分区(多种大小),11,动态分区动态创建分区:在装入程序时按其初始要求分配(按需分配),或在其执行过程中通过系统调用进行分配或改变分区大小。分配:寻找某空闲分区,其大小不小于程序要求,若大于则分割,其中一个为“占用”,另一为“空闲”,通常从内存低端到高端。释放:将相邻空闲分区合并成一个大的空闲区优点:没有内碎片。缺点:有

5、外碎片;如果大小不是任意的,也可能出现内碎片。,12,动态分区过程,13,动态分区分配算法最先匹配法:按分区顺序的先后次序,从头查找,找到符合要求的第一个分区该算法的分配和释放的时间性能较好,较大的空闲分区可以被保留在内存高端。但随着低端分区不断划分而产生较多小分区,每次分配时查找时间开销会增大。下次匹配法:按分区的先后次序,从上次分配的分区起查找(到最后分区时再回到开头),找到符合要求的第一个分区该算法的分配和释放的时间性能较好,使空闲分区分布得更均匀,但较大的空闲分区不易保留。最佳匹配法:找到其大小与要求相差最小的空闲分区从个别来看,外碎片较小,但从整体来看,会形成较多外碎片。较大的空闲分

6、区可以被保留。最坏匹配法:找到最大的空闲分区基本不留下小空闲分区,但较大的空闲分区不被保留。,14,覆盖和交换技术,覆盖目标是在较小的可用内存中运行较大的程序。常用于多道程序系统,与分区存储管理配合使用。原理:一个程序的几个代码段或数据段,按照时间先后来占用公共的内存空间。将程序的必要部分(常用功能)的代码和数据常驻内存;可选部分(不常用功能)在其他程序模块中实现,平时存放在外存中(覆盖文件),在需要用到时才装入到内存;不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖。(即不同时用的模块可共用一个分区),15,缺点:编程时必须划分程序模块和确定程序模块之间的覆盖关系,增加编程复杂度。从

7、外存装入覆盖文件,以时间延长来换取空间节省。实现:函数库或操作系统支持,16,交换多个程序并发执行,可以将暂时不能执行的程序送到外存中,从而获得空闲内存空间来装入新程序,或读入保存在外存中而目前到达就绪状态的进程。交换单位为整个进程的地址空间。常用于多道程序系统或小型分时系统中,与分区存储管理配合使用。程序暂时不能执行的可能原因:处于阻塞状态,低优先级(确保高优先级程序执行);原理:暂停执行内存中的进程,将整个进程的地址空间保存到外存的交换区中,而将外存中由阻塞变为就绪的进程的地址空间读入到内存中,并将该进程送到就绪队列。,17,优点:增加并发运行的程序数目,并且给用户提供适当的响应时间;编写

8、程序时不影响程序结构缺点:对换入和换出的控制增加处理机开销;程序整个地址空间都进行传送,没有考虑执行过程中地址访问的统计特性。考虑的问题:程序换入时的重定位;减少交换中传送的信息量,特别是对大程序;对外存交换区空间的管理:如动态分区方法;,18,页式和段式存储管理,是通过引入进程的逻辑地址,把进程地址空间与实际存储位置分离,从而增加存储管理的灵活性。逻辑地址(相对地址,虚地址):用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式。其首地址为0,其余指令中的地址都相对于首地址来编址。不能用逻辑地址在内存中读取信息。物理地址(绝对地址,实地址):内存中存储单元的地址。物理地址可

9、直接寻址。地址映射:将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致, 而CPU执行指令时,是按物理地址进行的,所以要进行地址转换。,19,20,页式存储管理将程序的逻辑地址空间和物理内存划分为固定大小的页或页面(page or page frame),程序加载时,分配其所需的所有页,这些页不必连续。需要CPU的硬件支持。优点:没有外碎片,每个内碎片不超过页大小。一个程序不必连续存放。便于改变程序占用空间的大小。即随着程序运行而动态生成的数据增多,地址空间可相应增长。缺点:程序

10、全部装入内存,否则不能运行。,21,22,23,页式管理的数据结构进程页表:每个进程有一个页表,描述该进程占用的物理页面及逻辑排列顺序;逻辑页号(本进程的地址空间)物理页面号(实际内存空间);物理页面表:整个系统有一个物理页面表,描述物理内存空间的分配使用状况。数据结构:位示图,空闲页面链表;请求表:整个系统有一个请求表,描述系统内各个进程页表的位置和大小,用于地址转换,也可以结合到各进程的PCB里;,24,进程页表,25,简单页式管理的地址变换指令所给出地址分为两部分:逻辑页号,页内偏移地址查进程页表,得物理页号物理地址为缩短查找时间,可以将页表从内存装入到关联存储器(TLB),按内容查找,

11、即逻辑页号物理页号,页表长度,页表地址,控制寄存器,页号,页面号,有效地址,0,2,1,3,2,8,2,1C4,2,8,26,段式存储管理页式管理是把内存视为一维线性空间;而段式管理是把内存视为二维空间,与进程逻辑相一致。将程序的地址空间划分为若干个段(segment),程序加载时,分配其所需的所有段(内存分区),这些段不必连续;物理内存的管理采用动态分区。需要CPU的硬件支持。,27,程序通过分段划分为多个模块,如代码段、数据段、共享段。可以分别编写和编译可以针对不同类型的段采取不同的保护可以按段为单位来进行共享,包括通过动态链接进行代码共享优点:没有内碎片,外碎片可以通过内存紧缩来消除。便

12、于改变进程占用空间的大小。缺点:进程全部装入内存。,28,操作系统,29,简单段式管理的数据结构进程段表:描述组成进程地址空间的各段,可以是指向系统段表中表项的索引。每段有段基址和段长度系统段表:系统内所有占用段空闲段表:内存中所有空闲段,可以结合到系统段表中,段表起始地址,段表地址寄存器,虚拟地址,1,1C4,段号,段内地址,段表,0,1500,1,3400,35C4,内存,1,30,分页是出于系统管理的需要,分段是出于用户应用的需要。一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。页大小是系统固定的,而段大小则通常不固定。逻辑地址表示:分页是一维的,各个模块在链接时

13、必须组织成同一个地址空间;分段是二维的,各个模块在链接时可以每个段组织成一个地址空间。通常段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。,31,页式管理与段式管理的比较,32,虚拟存储器,局部性原理指程序在执行过程中的一个较短时期,所执行的指令地址和指令的操作数地址,分别局限于一定区域。还表现为:时间局部性:一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短时期内;空间局部性:当前指令和邻近的几条指令,当前访问的数据和邻近的数据都集中在一个较小区域内。,33,局部性原理产生的原因程序在执行时,大部分是顺序执行的指令,少部分是转移和过程调用指令。过程调用的嵌

14、套深度一般不超过5,因此执行的范围不超过这组嵌套的过程。程序中存在相当多的循环结构,它们由少量指令组成,而被多次执行。程序中存在相当多对一定数据结构的操作,如数组操作,往往局限在较小范围内。,34,虚拟存储器的基本原理在程序装入时,不必将其全部读入到内存,而只需将当前需要执行的部分页或段读入到内存,就可让程序开始执行。在程序执行过程中,如果需执行的指令或访问的数据尚未在内存(称为缺页或缺段),则由处理器通知操作系统将相应的页或段调入到内存,然后继续执行程序。另一方面,操作系统将内存中暂时不使用的页或段调出保存在外存上,从而腾出空间存放将要装入的程序以及将要调入的页或段。只需程序的一部分在内存就

15、可执行。,35,引入虚拟存储技术的好处大程序:可在较小的可用内存中执行较大的用户程序;大的用户空间:提供给用户可用的虚拟内存空间通常大于物理内存并发:可在内存中容纳更多程序并发执行;易于开发:与覆盖技术比较,不必影响编程时的程序结构 ,对程序员透明;虚拟存储技术分类请求分页请求分段请求段页式,36,虚拟存储技术的特征不连续性:物理内存分配的不连续,虚拟地址空间使用的不连续(数据段和栈段之间的空闲空间,共享段和动态链接库占用的空间)部分交换:与交换技术相比较,虚拟存储的调入和调出是对部分虚拟地址空间进行的;大空间:通过物理内存和快速外存相结合,提供大范围的虚拟地址空间总容量不超过物理内存和外存交

16、换区容量之和,37,请求分页系统在简单页式存储管理的基础上,增加请求调页和页面置换功能由于只将部分程序装入内存,部分在磁盘上,故需对进程页表进行修改在进程页表中添加若干项标志位:存在位(内存页和外存页)修改位:是否被修改过访问统计:在近期内被访问的次数,或最近一次访问到现在的时间间隔外存地址:指出该页在外存上的地址,共调入该页时使用,38,缺页中断由处理器的地址变换机构根据页表项中的状态位产生缺页中断,然后调用操作系统提供的中断处理例程。缺页中断在指令执行期间产生和进行处理,而不是在一条指令执行完毕之后。所缺的页面调入之后,重新执行被中断的指令。一条指令的执行可能产生多次缺页中断,如:双操作数指令调页策略、置换算法 自学,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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