存储管理ok幻灯片

上传人:爱****1 文档编号:930300 上传时间:2017-05-22 格式:PPT 页数:54 大小:1.79MB
返回 下载 相关 举报
存储管理ok幻灯片_第1页
第1页 / 共54页
存储管理ok幻灯片_第2页
第2页 / 共54页
存储管理ok幻灯片_第3页
第3页 / 共54页
存储管理ok幻灯片_第4页
第4页 / 共54页
存储管理ok幻灯片_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《存储管理ok幻灯片》由会员分享,可在线阅读,更多相关《存储管理ok幻灯片(54页珍藏版)》请在金锄头文库上搜索。

1、2017/5/23,1,计算机组成和操作系统,2,第五章 存储管理,存储器的组成和工作原理 分区存储管理 段式和页式存储管理,3,1 存储器分类,按存储介质分类按存取方式分类按存储器的读写功能分类按信息的可保存性分类按在计算机系统中的作用分类,4,1 存储器概述,1.1 按存储介质分类半导体存储器:由半导体器件组成双极型存储器、MOS型半导体集成电路存储器 速度快、功耗低磁存储器:由磁性材料做成磁芯、磁带、磁盘等 容量大,速度慢、体积大光存储器:用光学材料根据光学原理存储信息CD-ROM、DVD-ROM便于携带,廉价,易于保存,5,1.2 按存取方式分类随机存储器(RAM)存储器中的任意存储单

2、元都能随机存取存取所需时间与物理位置无关磁芯、半导体存储器主存主要由RAM组成顺序存储器(SAM)所存储的内容只能按某种顺序存取存取所需时间与物理位置有关顺序存储器的平均存取周期较长,一般用于辅存磁盘、磁带、激光存储器直接存取存储器(DAM)介于随机和顺序之间随机定位信息块,但对信息块是顺序读写,1 存储器概述,6,1.3 按读/写功能分只读存储器 (ROM)存储器内容是预置的,固定的,无法改写信息可长期保存、分为固定型、一次改写型和多次改写型读/写存储器既能读出也能写入的存储器随机存储器RAM,1 存储器概述,7,1.4 按信息的可保存性分类易失性存储器 Volatile Memories断

3、电后信息消失半导体RAM永久性存储器Non-Volatile Memories断电后仍能保存信息磁性存储器、光存储器,1 存储器概述,8,1.5 按在计算机系统中的作用分类主存储器速度快,容量小,价格高目前主要采用半导体存储器辅助存储器速度低,容量大,价格便宜目前主要有磁存储器和光存储器目前微型计算机中普遍使用软磁盘和密封式的温彻斯特硬盘作为辅存高速缓冲存储器 Cache放置在两个访问速度不一样的存储部件之间,用来暂存信息和数据控制存储器:存放微程序寄存器:暂存信息和数据,1 存储器概述,9,2 主存储器,2.1 主存储器的特征由半导体MOS存储器组成存储单元:字存储单元,字节存储单元按地址访

4、问字地址,字节地址属于随机访问存储器,10,2.2 主存储器的主要性能指标 存储器所处的地位和作用不同,其性能指标也不同,对主存而言,主要性能指标如下:1)存储容量:一般以字节为单位。2)存取速度:取数时间和存取周期。速度和介质有关系。目前微机中使用动态MOS作为主存。3)价格:用单位存储空间的价格来衡量。4)功耗与集成度、可靠性、访问方式、信息存储的永久性,11,2.3 主存储器的分类1. 随机存取存储器(Random Access Memory)静态MOS存储器例如:SRAM(静态存储器)动态MOS存储器例如:DRAM(动态随机存取存储器)MOS: Metal Oxide Semicond

5、uctor,金属氧化物半导体2.只读存储器(ROM)一次编程只读存储器(PROM)多次编程只读存储器(EPROM, EEPROM),当前内存类型,12,EPROM-可擦写可编程只读存储器,高压写入、紫外线光照擦除,13,编程器,14,紫外线擦除器,15,3. 易失性半导体存储器 例如:SRAMDRAMDDR SDRAM (double data rate synch. DRAM):双倍速率同步动态随机存储器 RDRAM (Rambus DRAM):串行传输方式,16,内存条,17,2.4 主存储器组成和工作原理,主存储器组成结构,选择线,18,2.5 存储系统的层次结构,19,3 高速缓冲存储

6、器,3.1 问题CPU与存储器之间的速度无法匹配解决之道采用高速器件提高速度增加字长,在每个存储周期中存取多个字增加cache,20,3.2 cache的基本思想在处理器附近增加一个小容量快速存储器(cache)cache中存放内存中经常被访问的数据当程序访问内存时,我们希望被访问数据已经存放在cache中,21,3.3 cache的理论依据程序局部性原理 程序在执行过程中的一个较短时期,所执行的指令地址和指令的操作数地址,分别局限于一定区域,包括:时间局部性 指令的执行和数据的访问集中在一个较短时期内空间局部性 指令的执行和数据的访问集中在一个较小区域内。,22,程序局部性原理的具体体现:程

7、序在执行时,大部分是顺序执行的指令,少部分是转移和过程调用指令。程序中存在相当多的循环结构,它们由少量指令组成,而被多次执行。程序中存在相当多对一定数据结构的操作,如数组操作,往往局限在较小范围内。,23,3.4 cache工作原理,24,4 外存储器,4.1 硬盘存储器,spindle,surface,tracks,track k,sectors,gaps,25,硬盘的多盘片结构,surface 0,surface 1,cylinder k,spindle,platter 0,platter 1,platter 2,26,4 外存储器,4.2 光盘存储器 采用聚焦激光束在盘式介质上非接触的记

8、录高密度信息,以介质材料的光学性质(反射率、偏振方向)的变化表示0和1。只读型光盘(CDROM) 写一次型光盘 重写型光盘(REWRITE),27,5 存储器管理,5.1 存储器管理的主要功能存储分配的方法为多道程序分配大小相同的存储区还是大小不同的存储区; 内存的分配在程序执行前分配还是在执行过程中动态分配。地址变换程序执行的内存区域是连续的还是分散的。 地址保护如何保证程序之间既不冲突又可共享资源。内存扩充如何将内存和外存结合起来,为用户提供更大的存储空间。,28,5 存储器管理,5.2 逻辑地址和物理地址逻辑地址(相对地址)物理地址(绝对地址)内存的地址以字节为单位,每个存储单元都有唯一

9、的地址。,29,5.3 程序的装入和链接 一个源程序要变为可以在内存中运行的程序,通常要经过编译、链接、和装入三个步骤: 1)编译:用户程序经编译后生成的目标模块是以0为开始地址顺序编址。 目标模块中的地址称为相对地址或逻辑地址。 2)链接:将编译后形成的多个目标模块以及它们运行所需要的库函数,链接在一起形成装入模块。装入模块仍以0作为起始地址。 3)装入:将装入模块装入内存实际物理地址空间。,5 存储器管理,30,5.4 程序装入程序的逻辑地址与分配的内存绝对地址不一致。每个逻辑地址也没有一个固定的绝对地址与其对应。例如: 程序被装入到内存A单元开始的内存区域,则该程序访问逻辑地址的K单元的

10、数据时,实际应访问A+K单元。 为保证程序对数据的正确访问,必须把逻辑地址转换为绝对地址,把这个地址转换过程称为重定位。,5 存储器管理,31,5.5 重定位静态重定位 在程序装入内存时,装入程序把程序的逻辑地址改成物理地址。物理地址固定,且必须连续。动态重定位 在程序执行期间,通过重定位寄存器把程序的逻辑地址改成物理地址。指令执行之前无须修改地址,因此运行之前可以变换存储位置,且各目标模块不需要连续存放。,5 存储器管理,32,动态重定位示意图,33,5.6 链接静态链接:程序装入内存之前将个目标模块链接,形成可执行文件。装入时动态链接:在各目标模块装入内存时链接,边装入边链接。运行时动态链

11、接:在执行过程中将需要的模块调入内存,并链接到调用模块上。动态链接有利于实现目标模块的共享。通常被链接的共享代码称为动态链接库(DLL)或共享库(shared library)。,34,5.7 连续分配存储管理 连续分配是指为一个用户程序分配一个连续的内存空间。广泛应用于60-70年代的操作系统中。按分配方式的不同,可分为:单一连续分配固定分区可变分区可重定位分区,35,1.单一连续分配内存分为两个区域:系统区,用户区。应用程序装入到用户区,可使用用户区全部空间。优点:最简单,易于管理,适用于单用户、单任务的 缺点:对要求内存空间少的程序,造成内存浪费;程序全部装入,使用率较低的部分程序也占用

12、内存。,36,2.固定分区分配把内存划分为若干个固定大小的连续分区。分区大小相等:只适合于多个相同程序的并发执行(处理多个类型相同的对象)。分区大小不等:多个小分区、适量的中等分区、少量的大分区。根据程序的大小,分配当前空闲的、适当大小的分区。采用的数据结构:分区表记录分区的起始地址、大小和使用情况优点:易于实现,开销小。缺点:内碎片造成浪费,分区总数固定,限制了并发执行的程序数目。,37,3.可变分区分配在目标模块装入内存时将可用的内存空间划分一个连续的区域分配给进程。随着进程的创建和撤销,系统运行一段时间后,内存中会出现一些不连续的空闲分区,因此需要一些数据结构记录内存的使用情况。,38,

13、可变分区分配的数据结构:空闲分区表:为每个空闲分区设置一个表项,每个表项包括:分区号、分区始址和分区大小。空闲分区链表:在每个空闲分区的起始部分和结尾部分各设置一个前向指针和后向指针,将所有空闲分区链接成一个链表。,39,可变分区分配算法算法的目标:寻找大小合适的空闲分区。可将大空闲分区拆成两部分。分区扫描的先后次序通常是从内存低端到高端。常见分配算法(P117)首次适应算法下次适应算法 最佳适应算法 最坏适应算法可变分区回收算法根据回收空间所处的位置,需要将相邻的空闲分区合并成一个空闲分区。,40,4.动态重定位分区当内存中存在有若干个不连续的小空闲分区时,可以用紧凑和程序重定位的方法将这些

14、小分区合并成大空闲分区。进程在运行过程中移动存储位置需要借助于重定位寄存器实现程序的动态重定位。,41,5.连续分区存储管理的缺陷程序的运行受空闲分区大小的限制;碎片问题,各程序分配内存时,要求连续存放,会形成内部碎片和外部碎片;由于连续存放不利于程序段和数据的共享。解决之道:将程序的内存分配采用离散式分配。,42,5.8 页式存储管理每个进程的物理地址可以是非连续的(P117)将物理内存分成固定大小的块,称为帧(frame)将逻辑内存分为同样大小的块,称为页(page)建立页表用来将逻辑地址转换为物理地址页面大小一般为2的幂,如4K(P118),43,逻辑内存和物理内存的分页模型,44,5.

15、8.1 地址转换方法 CPU生成的逻辑地址分成以下两部分:页号(p):页号作为页表中的索引。页表中包含每页所在物理内存的基地址。页偏移(d):与页的物理基地址组合就形成了物理地址。,45,地址转换示意图,46,5.9 段式存储管理满足用户编程和内存使用要求的内存管理方法。优点:没有内碎片,外碎片可以通过内存紧缩来消除。便于改变进程占用空间的大小。缺点:进程全部装入内存。,47,段式管理的数据结构:系统段表:系统内所有占用段进程段表:描述组成进程地址空间的各段,可以是指向系统段表中表项的索引。每段有段基址(base address)空闲段表:内存中所有空闲段,可以结合到系统段表中,48,段式管理示意图,49,5.10 分段和分页的区别分页是为了实现进程在内存中的有效离散存放,以提高内存利用率。分段的目的是满足用户编程序的需求。页的大小是固定,段的长度是可变的,由用户编写的程序决定。通常段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。,50,5.11 虚拟存储管理 前面所介绍的各种存储器管理方式,都要求将一个作业全部装入内存方能运行,因而难以适应:作业的尺寸大于实际内存的容量;有大量的作业等待运行,但实际内存容量不足以使其全部装入;为解决此类问题,引入了虚拟存储器,其理论依据是进程运行的局部性原理。,

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

当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

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