第6章主存管理

上传人:今*** 文档编号:108769474 上传时间:2019-10-25 格式:PPT 页数:79 大小:3.82MB
返回 下载 相关 举报
第6章主存管理_第1页
第1页 / 共79页
第6章主存管理_第2页
第2页 / 共79页
第6章主存管理_第3页
第3页 / 共79页
第6章主存管理_第4页
第4页 / 共79页
第6章主存管理_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《第6章主存管理》由会员分享,可在线阅读,更多相关《第6章主存管理(79页珍藏版)》请在金锄头文库上搜索。

1、第6章 主存管理,主存管理,主存管理概述 主存管理的功能 分区存储管理 页式存储管理 段式及段页式存储管理,1,主存管理主要内容,主存管理概述,主存管理主存管理概述,1.存储组织,存储器的功能是保存数据,存储器的发展方向是高速、大容量和小体积。 存储组织是指在存储技术和CPU寻址技术许可的范围内组织合理的存储结构。 其依据是访问速度匹配关系、容量要求和价格。 “寄存器-内存-外存”结构 “寄存器-缓存-内存-外存”结构,存储层次结构,快速缓存: Data Cache TLB(Translation Lookaside Buffer) 内存:DRAM, SDRAM等; 外存:硬盘、光盘、软盘、磁

2、带等;,2,主存管理主存管理概述,2. 主存共享方式 (1) 大小不等的区域 分区存储管理 段式存储管理 (2) 大小相等的区域 页式存储管理 (3) 二者结合 段页式存储管理,3,主存管理主存管理概述,3. 程序的逻辑组织 (1) 一维地址结构 一个程序是一个连续、线性的地 址结构; 确定线性地址空间中的指令地址 或操作数地址只需要一个信息。,程序地址空间 一维地址结构,4,主存管理主存管理概述,(2) 二维地址结构 一个程序由若干个分段组成,每个分段是一个连续的地址区; 确定线性地址空间中的指令地址或操作数地址需要两个信息,一是该信息所在的分段,另一个是该信息在段内的偏移量。,程序地址空间

3、二维地址结构,主存管理功能,主存管理主存管理功能,5,1. 几个概念 (1) 物理地址 (绝对地址、实地址) 物理地址是计算机主存单元的真实地址,又称为绝对地 址或实地址。 (2) 主存空间 物理地址的集合所对应的空间组成了主存空间。 (3) 逻辑地址 (相对地址、虚地址) 用户的程序地址 (指令地址或操作数地址)均为逻辑地址。 (4) 程序地址空间 用户程序所有的逻辑地址集合对应的空间。,主存管理主存管理功能,6,(5) 程序地址空间与主存空间,主存管理主存管理功能,程序地址空间与主存空间示意图,7,主存管理主存管理功能,2. 主存管理功能,实现逻辑地址到物理主存地址的映射 主存分配 存储保

4、护 主存扩充,8,3. 地址映射 (1) 什么是地址映射 将程序地址空间中使用的逻辑地址变换成主存中的物理地 址的过程,称为地址映射。,程序地址空间装入主存,主存管理主存管理功能,9, 在程序装入时确定地址映射关系 在程序装入过程中随即进行的地址变换方式称为静态地址映射。,(2) 地址映射的时机和类别 编程或编译时确定地址映射关系 在程序编写或程序编译时确定虚、实地址之间的对应关系,结果 是一 个不能浮动的程序模块。,静态地址重定位示意图,主存管理主存管理功能,10, 在程序运行时确定地址映射关系 在程序执行期间,随着每条指令和数据的访问自动地连续 地进行地址映射,这种地址变换方式称为动态地址

5、映射。,动态地址重定位示意图,主存管理主存管理功能,11, 静态地址映射与动态地址映射的区别 静态地址映射 动态地址映射 在程序装入过程中 在程序执行期间 进行地址映射 进行地址映射 需软件 需硬件地址变换机构 (重定位装入程序) ( 重定位寄存器) 需花费较多CPU时间 地址变换快 不灵活 灵活,4. 主存分配 (1) 构造分配用的数据结构 主存资源信息块:等待队列;空闲区队列;主存分配程序,主存管理主存管理功能,12,(2) 制定策略 分配策略 在众多个请求者中选择一个请求者的原则 放置策略 在可用资源中,选择一个空闲区的原则 调入策略 决定信息装入主存的时机 预调策略:预先将信息调入主存

6、 请调策略:当需要信息时,将信息调入主存 淘汰策略 在主存中没有可用的空闲区 (对某一程序而言)时,决定哪些信息从主存中移走,即确定淘汰已占用的内存区的原则。 (3) 实施主存分配与回收,主存管理主存管理功能,13,5. 主存扩充 用户编程不受内存容量限制; 用户编程不需知道内存寻址等细节; (1) 可行性 程序局部性原理:程序在执行过程中的一个较短时间内,所执行的指令地址或操作数地址分别局限于一定的存储区域中。,主存管理主存管理功能,第一,程序中只有少量分支和过程调用,大都是顺序执行的指令。 第二,程序包含若干循环,是由相对较少的指令组成,在循环过程中,计算被限制在程序中很小的相邻部分中。

7、第三,很少出现连续的过程调用,相反,程序中过程调用的深度限制在小范围内,一段时间内,指令引用被局限在很少几个过程中。 第四,对于连续访问数组之类的数据结构,往往是对存储区域中相邻位置的数据的操作。 第五,程序中有些部分是彼此互斥的,不是每次运行时都用到的,如出错处理程序。,(2) 实现方法,程序的全部代码和数据存放在辅存中; 将程序当前执行所涉及的那部分程序代码放入主存中; 程序执行时,当所需信息不在主存,由操作系统和硬件相配合来完成主存从辅存中调入信息,程序继续执行。,14, 虚拟存储器的核心 逻辑地址与物理地址分开 存储空间与虚地址空间分开 提供地址变换机构 实现虚拟存储器的物质基础 有相

8、当容量的辅存: 足以存放应用程序的虚地址空间 地址变换机构, 什么是虚拟存储器 由操作系统和硬件相配合来完成主存和辅存之间的信息的动态调度。 这样的计算机系统好像为用户提供了一个其存储容量比实际主存大得 多的存储器,这个存储器称为虚拟存储器。,主存管理主存管理功能,(3)虚拟存储器,虚拟存储器的概念图,15,6. 存储保护 (1) 什么是存储保护 在多用户环境中,主存储器按区分配给各用户程序使用。 为了互不影响,必须由硬件 (软件配合)保证各用户程序只 能在给定的存储区域内活动,这种措施叫做存储保护。 (2) 实现方法 界地址保护 存储键保护,主存管理主存管理功能,16,界地址保护 上下界防护

9、 例:程序大小为4KB,主存首址为20KB。,20KB,24KB,如何设置上下界寄存器内容 ? 如何判断是否越界 ? 若 20KBD24KB 允许访问; 否则发生越界中断,界限寄存器保护示意图,主存管理主存管理功能,17, 基地址、限长防护 例:程序大小为4KB,主存首址为20KB。,如何设置基址、限长寄存器内容 ? 如何判断是否越界 ? 若 逻辑地址 4KB 允许访问; 否则发生越界中断,20KB,4KB,界限寄存器保护示意图,主存管理主存管理功能,分区存储管理,主存管理分区存储管理,18,1. 动态分区分配 (1) 什么是动态分区分配 在处理程序的过程中,建立分区,依用户请求的大小分配 分

10、区。 (2) 动态分区的分配、回收过程 动态分区的分配过程,主存管理分区存储管理,19,主存管理分区存储管理,程序1申请 32KB,程序2申请 14KB,程序3申请 64KB,程序4申请 100KB,程序5申请 50KB,动态分区分配示意图,20,主存管理分区存储管理, 动态分区的回收过程,动态分区分配中的存储区的释放,21,(3) 分区分配数据结构 主存资源信息块 (M_RIB) 分区描述器 (PD),主存管理分区存储管理,flag: 为 0 空闲区 为 1 已分配区 size: 分区大小 next:空闲区自由主存队列中的勾链字 已分配区此项为零,22, 空闲区队列结构,动态分区的空闲区队列

11、结构,主存管理分区存储管理,23,2. 分区的分配与回收 (1) 分区分配思路 寻找空闲块 依申请者所要求的主存区的大小,分区分配程序在自由主 存队列中找一个满足用户需要的空闲块; 若找到了所需的空闲区,有两种情况 空闲区与要求的大小相等,将该空闲区分配并从队列中 摘除; 空闲区大于所要求的的大小,将空闲区分为两部分:一 部分成为已分配区,建立已分配区的描述器;剩下部分 仍为空闲区。返回所分配区域的首址; 否则,告之不能满足要求。,主存管理分区存储管理,24,(2) 分区回收思路 检查释放分区 (即为回收分区)在主存中的邻接情况 若上、下邻接空闲区,则合并,成为一个连续的空闲区 若回收分区不与

12、任何空闲区相邻接 建立一个新的空闲区,并加入到空闲区队列中。,主存管理分区存储管理,25,3. 放置策略 (1) 什么是放置策略 选择空闲区的策略,称为放置策略。 常用的放置策略 首次匹配 (首次适应算法) 最佳匹配 (最佳适应算法) 最坏匹配 (最坏适应算法),主存管理分区存储管理,26,(2) 首次适应算法 什么是首次适应算法 首次适应算法是将输入的程序放置到主存里第一个足够装 入它的地址最低的空闲区中。,程序A 18KB, 空闲区队列结构 空闲区地址由低到高排序 首次适应算法的特点 尽可能地利用存储器中低地 址的空闲区,而尽量保 存高地址的空闲区。,三种放置策略的图解 首次适应算法,主存

13、管理分区存储管理,27,(3) 最佳适应算法 什么是最佳适应算法 最佳适应算法是将输入的程序放置到主存中与它所需大小 最接近的空闲区中。,程序A 18KB, 空闲区队列结构 空闲区大小由小到大排序 最佳适应算法的特点 尽可能地利用存储器中小的 空闲区,而尽量保存大的空 闲区。,三种放置策略的图解 最佳适应算法,主存管理分区存储管理,28,(4) 最坏适应算法 什么是最坏适应算法 最坏适应算法是将输入的程序放置到主存中与它所需大小 差距最大的空闲区中。,程序A 18KB, 空闲区队列结构 空闲区大小由大到小排序 最坏适应算法的特点 尽可能地利用存储器中大 的空闲区。,三种放置策略的图解 最坏适应

14、算法,主存管理分区存储管理,29,(5) 三种放置策略的讨论 题例 程序A要求18KB;程序B要求25KB;程序C要求30KB。 用首次适应算法、最佳适应算法、最坏适应算法来处理程 序序列,看哪种算法合适。,主存管理分区存储管理,30, 首次适应算法、最佳适应算法、最坏适应算法的队列结构,主存分布示意图,主存管理分区存储管理,31, 首次适应算法,程序A要求18KB 程序B要求25KB 程序C要求30KB 首次适应算法对该作业序列是不合适的,主存分布示意图,主存管理分区存储管理,32, 最佳适应算法,程序A要求18KB 程序B要求25KB 程序C要求30KB 最佳适应算法对该程序序列是合适的,

15、主存分布示意图,主存管理分区存储管理,33, 最坏适应算法,程序A要求18KB 程序B要求25KB 程序C要求30KB 最坏适应算法对该程序序列是不合适的,主存分布示意图,主存管理分区存储管理,34,4. 碎片问题及拼接技术 (1) 什么是碎片问题 在已分配区之间存在着的一些没有被充分利用的空闲区。,如何解决碎片问题?,(2) 什么是拼接技术 所谓拼接技术是指移动存储器中某些已分配区中的信息,使本来分散的空闲区连成一个大的 空闲区。,分区分配中的存储区拼接,主存管理分区存储管理,页式存储管理,主存管理页式存储管理,35,1. 页式系统的基本概念 (1) 页面 程序的地址空间被等分 成大小相等的片,称为页 面,又称为虚页。 (2) 主存块 主存被等分成大小相等的 片,称为主存块,又称为 实页。 (3) 页面与主存块的关系,主存管理页式存储管理,等分主存和虚地址空间,36,(4) 页表 什么是页表 为了实现从地址空间到物理主存的映象,系统建立的记 录页与内存块之间对应关系的地址变换的机构称为页面 映像表,简称页表。 页表的组成 高速缓冲存储器 : 地址变换速度快,但成本较高 主存区域 :地址变换速度比硬件慢

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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