【计算机】os08实存储器管理技术

上传人:ldj****22 文档编号:51717972 上传时间:2018-08-16 格式:PPT 页数:72 大小:1.18MB
返回 下载 相关 举报
【计算机】os08实存储器管理技术_第1页
第1页 / 共72页
【计算机】os08实存储器管理技术_第2页
第2页 / 共72页
【计算机】os08实存储器管理技术_第3页
第3页 / 共72页
【计算机】os08实存储器管理技术_第4页
第4页 / 共72页
【计算机】os08实存储器管理技术_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《【计算机】os08实存储器管理技术》由会员分享,可在线阅读,更多相关《【计算机】os08实存储器管理技术(72页珍藏版)》请在金锄头文库上搜索。

1、第八章 实存储器管理技术第8章 实存储器管理技术n8.1 引言n8.2 固定分区n8.3 可变分区多道管理技术n8.4 多重分区管理技术n8.5 简单分页n8.6 简单分段n8.7 内核主存管理第八章 实存储器管理技术8.1 引言n存储器包括内存(主存)和外存(磁盘 )n存储器的功能是保存数据,存储器的发展方 向是高速、大容量和小体积。n内存在访问速度方面的发展:DRAM、SDRAM、 SRAM等;n硬盘技术在大容量方面的发展:接口标准、存储 密度等;n主存储器管理技术分为两大类n实存储器管理n虚拟存储器管理第八章 实存储器管理技术8.1 引言n存储器的物理组织、多级存储器n存储组织是指在存储

2、技术和CPU寻址技术许 可的范围内组织合理的存储结构。n其依据是访问速度匹配关系、容量要求和价格。n“寄存器-内存-外存”结构n“寄存器-缓存-内存-外存”结构;n微机中的存储层次组织:n访问速度越慢,容量越大,价格越便宜;n最佳状态应是各层次的存储器都处于均衡的繁忙 状态(如:缓存命中率正好使主存读写保持繁忙 );第八章 实存储器管理技术8.1 引言n快速缓存:nData CachenTLB(Translation Lookaside Buffer)n内存:DRAM, SDRAM等;n外存:软盘、硬盘、光盘、磁带等;第八章 实存储器管理技术8.1 引言n主存储器管理功能n存储分配和回收:分配

3、和回收算法及相应的数据结 构。n地址变换和重定位:n可执行文件生成中的链接技术n程序加载(装入)时的重定位技术n进程运行时硬件和软件的地址变换技术和机构n存储共享和保护:n代码和数据共享n地址空间访问权限(读、写、执行)n存储器扩充:存储器的逻辑组织和物理组织;n由应用程序控制:覆盖;n由OS控制:交换(整个进程空间),虚拟存储的请求调入 和预调入(部分进程空间)第八章 实存储器管理技术8.2 固定分区n单道作业(单一固定分区)n内存分为两个区域:系统区,用户区。应用程序装 入到用户区,可使用用户区全部空间n使用界地址寄存器保护系统信息n最简单,适用于单用户、单任务的OSn优点:易于管理n缺点

4、:对要求内存空间少的程序,造成内存浪费; 程序全部装入,很少使用的程序部分也占用内存第八章 实存储器管理技术单一连续区存储管理第八章 实存储器管理技术8.2 固定分区n多道作业n主存分为固定大小的若干块,主存分区的数 量不变,每个分区的大小也不变n分区的信息由存储分块表(MBT)管理n大小:以字节为单位n位置:分区的起始地址n状态:分区是否被使用n使用界地址寄存器n采用静态重定位第八章 实存储器管理技术固定分区(大小相同)固定分区(多种大小)第八章 实存储器管理技术 8.3 可变分区多道管理技术( 动态分区)n主存事先并不划分分区,而是在作业级 如主存时,按作业大小建立分区,分给 作业使用n优

5、点:没有分区内部碎片n缺点:有外碎片;如果大小不是任意的 ,也可能出现内碎片。第八章 实存储器管理技术第八章 实存储器管理技术第八章 实存储器管理技术第八章 实存储器管理技术 8.3 可变分区多道管理技术( 动态分区)n需要解决三个问题:分配管理的数据结构 (MBT)、存储分配算法、分区的分配和 回收nMBT组织方法n存储分块表n分开设置两个存储管理表n空闲存储块链第八章 实存储器管理技术 8.3 可变分区多道管理技术( 动态分区)nMBT组织方法:存储分块表n缺点n分区个数不固定,所以需要的分块表的表长度不 能确定,可能造成预留空间不足或浪费的情况n分区增多时,查找空闲分区的时间长第八章 实

6、存储器管理技术 8.3 可变分区多道管理技术( 动态分区)nMBT组织方法:两个存储分块表n设置空闲分区表(FBT),提高查找速度序号分区大小(K)分区始址(K)状态 132256可用216512可用第八章 实存储器管理技术 8.3 可变分区多道管理技术( 动态分区)n存储分配算法n最先匹配法(first-fit):按分区的先后次序, 从头查找,找到符合要求的第一个分区n该算法的分配和释放的时间性能较好,较大的空 闲分区可以被保留在内存高端。n但随着低端分区不断划分而产生较多小分区,每 次分配时查找时间开销会增大。n下次匹配法(next-fit):按分区的先后次序, 从上次分配的分区起查找(到

7、最后分区时再 回到开头),找到符合要求的第一个分区n该算法的分配和释放的时间性能较好,使空闲分 区分布得更均匀,但较大的空闲分区不易保留。第八章 实存储器管理技术 8.3 可变分区多道管理技术( 动态分区)n存储分配算法n最佳匹配法(best-fit):找到其大小与要求相 差最小的空闲分区n从个别来看,外碎片较小,但从整体来看,会形 成较多外碎片。较大的空闲分区可以被保留。n最坏匹配法(worst-fit):找到最大的空闲分区n基本不留下小空闲分区,但较大的空闲分区不被 保留。第八章 实存储器管理技术请求分配16K第八章 实存储器管理技术 8.3 可变分区多道管理技术( 动态分区)n存储分块分

8、 配和回收n分配从头开始查找检索完否?返回m.sizeu.size查找下一个m.size-u.sizesize划出u.size分区整块分配修改有关数据NYNYNm.size空闲分区大小u.size请求分区大小size不可再分割大小按分区分 配算法第八章 实存储器管理技术 8.3 可变分区多道管理技术( 动态分区)n存储分块分配和回收n回收:当一个进程运行结束,要释放内存, 操作回收内存,并把它插入到空闲区链表中 。n根据回收区的位置,有四种情况需要处理:空闲区回收区回收区空闲区空闲区回收区空闲区回收区情况1情况2情况3情况4第八章 实存储器管理技术 8.3 可变分区多道管理技术( 动态分区)n

9、存储器紧缩和程序浮动n因为存储块的动态分配和 回收,会产生大量的碎片 ,这些碎片的总量很大, 但每一个碎片都不足以容 纳一个程序n处理碎片的方法:存储器 紧缩,就是把已经使用的 空间移动到存储器的一端 ,而使碎片移动到另一端 连接起来8K12K6K18K44K紧缩第八章 实存储器管理技术8.3 可变分区多道管理技术( 动态分区)n存储器紧缩和程序浮动n处理器紧缩的关键是内存中的程序要移动 ,把这称为程序浮动1000Load 250011003653500移动后0Load 25001003652500移动前第八章 实存储器管理技术8.3 可变分区多道管理技术( 动态分区)n存储器紧缩和程序浮动n

10、解决程序移动产生的访问地址错误动 态重定位0Load 250010036525002500相对地址0重定位寄存器0Load 25001003652500+处理机存储器移动前第八章 实存储器管理技术8.3 可变分区多道管理技术( 动态分区)n存储器紧缩和程序浮动n解决程序移动产生的访问地址错误动 态重定位0Load 250010036525002500相对地址10000重定位寄存器10000Load 25001010036512500+处理机存储器移动后第八章 实存储器管理技术 8.3 可变分区多道管理技术( 动态分区)n动态重定位分配算法n在一个分区释放后立即移动n当请求得不到满足时再移动请求

11、分配 u.size分区检索空闲分区链找到 m.sizeu.size按动态分区分配 方式进行分配空闲分区 总和u.size进行“紧凑”返回分区号 及首址无法分配 返回yNYN第八章 实存储器管理技术8.4 多重分区n即一个程序可以占据主存中不连续的多 个分区可以解决碎片问题n需要硬件支持(多对界地址寄存器)n管理复杂n多重分区的思想和实现类似于虚拟段式 存储第八章 实存储器管理技术8.5 简单分页n把主存分成许多同样大小的存储块,并 把这种存储块作为存储分配的最小单位第八章 实存储器管理技术8.5 简单分页n实现方法:n把内存空间划分成若干大小相同的物理块, 这些物理块叫“页架”(frame),

12、并依次编以连 续的页架号0,1,2n把用户程序的地址空间划分成与页架大小相 同的部分(fixed size chunk),把它们叫“页” (不同系统的页大小不同)n用户的逻辑地址表示为一个数对(p,d), 其中p是页号,d是页内相对地址第八章 实存储器管理技术8.5 简单分页n实现方法:n给定虚地址(逻辑地址)A,页面大小L,则 p=INTA/L,d=A mod L,其中INT是向 下取整, mod是取余。n例如L=2KB,A=2506B,则p=1,d=506, 表示为(1,506)第八章 实存储器管理技术8.5 简单分页n主存分配n把用户程序的任一页分配到内存中的任一帧 ,从而实现非连续的内

13、存分配。n问题n如何管理、如何进行地址变换。第八章 实存储器管理技术8.5 简单分页进程A页表00页号 块号11 24 35 48 590 1 2 3 4 5 6 78内存9程序A0页 1页 2页 3页 4页 5页n页程序B0页 1页 2页 3页 4页 5页m页进程B页表02页号 块号13 26 37页表:实现页号到物理块号的映射。第八章 实存储器管理技术8.5 简单分页n地址组成:页号P+(页内地址)位移量d 例如:32位地址,011为偏移量,1231为 页号,最大可以有1M页,每页4KB 。地址结构:页号P位移量d12 11031第八章 实存储器管理技术8.5 简单分页n页面大小的确定n分

14、页系统中,页面的大小是由硬件的地址结构 所决定的。机器确定、页面大小就确定。n通常页面大小采用2的幂次(为什么?)n影响因素:n页面内部碎块、内存的利用率n页面页表、占用内存n页面页面的换出换入效率。第八章 实存储器管理技术8.5 简单分页计算机类型页面大小(B)IBM AS/400 VAX Intel 80386 Motorola 68030512 512 4096 4096常见机型页面第八章 实存储器管理技术8.5 简单分页n地址转换n分页存储系统中,地址变换机构的任务是把逻辑地 址中的页号转换为内存中物理块的块号。n注意:页面大小与页框大小一致,无须进行页内地 址转换。n实现转换:借助于

15、页表。n页表的实现:n寄存器:变换速度快、成本高,适应小型系统。n页表驻留在内存:速度较低、成本低,适应大系统 。第八章 实存储器管理技术8.5 简单分页n地址转换实现n将逻辑地址的页号取出n以页号为索引查找该进程的页表,找出和该 页号对应的页架号n用页架号和逻辑地址的页内相对地址拼接, 得到的就是物理地址第八章 实存储器管理技术8.6 简单分段n分段管理思想的引入n在分页管理中,只按页面大小划分程序,没 有考虑程序的逻辑功能结构n一个程序包含多个逻辑上相对独立的功能模 块,也可能包含多个子程序,这些模块或者 子程序完成相对独立的功能n在分页系统中,一个逻辑段可能被分到不同 的页内,不利于执行

16、第八章 实存储器管理技术8.6 简单分段n分段的实现n把作业的地址空间按逻辑功能划分若干段, 每一段定义一组逻辑信息:段名、段的长度n段名:用段号来替代。n段的长度:不确定,由相应的逻辑信息组的长度 决定。n逻辑地址:Segment NumberOffset3116 15064K个段64KB长度第八章 实存储器管理技术8.6 简单分段n主存分配n以段为单位,每一段分配一个连续的主存分 区,一个程序的各段所分到的主存分区不要 求是连续的n请考虑:程序的段是在什么时候由谁划分出 来的?第八章 实存储器管理技术8.6 简单分段n段表:记录逻辑段与内存物理位置的对应映射 关系。段号段长基址030K40K120K80K215K120K段表(MAIN)=0(x)=1(D)=2内存空间作业空间0(MAIN)=00(X)=10(D)=240

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

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

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