电子科技大学计算机操作系统―第四章 存储管理

上传人:我*** 文档编号:137599957 上传时间:2020-07-10 格式:PPT 页数:65 大小:1.34MB
返回 下载 相关 举报
电子科技大学计算机操作系统―第四章 存储管理_第1页
第1页 / 共65页
电子科技大学计算机操作系统―第四章 存储管理_第2页
第2页 / 共65页
电子科技大学计算机操作系统―第四章 存储管理_第3页
第3页 / 共65页
电子科技大学计算机操作系统―第四章 存储管理_第4页
第4页 / 共65页
电子科技大学计算机操作系统―第四章 存储管理_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《电子科技大学计算机操作系统―第四章 存储管理》由会员分享,可在线阅读,更多相关《电子科技大学计算机操作系统―第四章 存储管理(65页珍藏版)》请在金锄头文库上搜索。

1、第四章,存储管理,4.1 存储管理的基本概念(一),这里只讨论内存管理,外存管理在设备中讨论。,存储器是价格昂贵,数量不足的资源。存储管理的效率直接影响到系统的性能,也最能够反映一个操作系统的特色。因此,存储管理的问题是操作系统的核心问题。,存储管理的目的 1.为用户使用存储器提供方便。 在逻辑空间编程 提供足够大的存储空间 2.充分发挥内存的利用率。,4.1 存储管理的基本概念,存储管理的功能, 内存分配 内存保护 地址映射 内存扩充, 内存分配, 内存保护, 地址映射, 内存扩充,讨论内容,装入模块,装入,内 存,装入程序,链接,装入,链接,运行,编译, 内存分配,4.1 存储管理的基本概

2、念, 调入策略 确定装入时机 (预调、请调) 放置策略 如何分配空闲内存区的原则 (算法、连续、 不连续) 淘汰策略 当使用请调策略时,确定淘汰哪些信息, 以腾出内存空间,以便调入需要的信息。,可分为相等和不相等的内存块,内存分配与回收,分配策略,内存划分,内存回收,回收进程所释放的存储空间,存储管理的功能,4.1 存储管理的基本概念,1. 地址空间和存储空间 程序经过编译所形成的目标代码,一般使用相对地址;即其首地址为 0 ,其它指令的地址是相对首地址而定。相对地址又称为逻辑地址。 该目标代码相对地址的全体称为程序的地址空间,或逻辑空间。 实际的内存物理地址的集合称为物理空间,或存储空间。,

3、地址映射,存储管理的功能,4.1 存储管理的基本概念,2、重定位(Relocation) 为了保证程序的执行,操作系统必须将执行过程要访问的逻辑地址转换为物理地址。这种地址的转换过程称为重定位或地址映射。,地址映射,存储管理的功能,重定位分为静态、动态两种: 静态重定位 程序装入过程中一次完成地址映射。运行过程中,地址空间不允许改变。 优点:软件实现,无需硬件支持。 缺点:分配连续空间,程序不能移动。,4.1 存储管理的基本概念, 动态重定位 重定位发生在程序执行过程中,在访问指令或数据时,才进行地址变换。需要硬件地址变换机制实现。,500,1000,VR,BR,+,4.1 存储管理的基本概念

4、,一。程序的装入和链接, 绝对装入方式 装入程序按照装入模块中的绝对地址将程序和数据装入内存。 可重定位装入方式 装入模块为相对地址(逻辑地址),装入程序按照当前内存使用的情况,将装入模块装入内存的某个物理地址。但是装入后不允许移动。 重定位将逻辑地址转换为物理地址的过程,也称为地址变换或地址映射。 由于地址变换是在装入时一次完成的,又称为静态重定位。,1。程序的装入方式, 动态运行时装入方式 将装入模块装入内存后,运行时才进行地址变换,又称为动态重定位。,4.1 存储管理的基本概念, 静态链接 事先将所需目标模块链接生成一个完整的装入模块(. exe)运行时直接装入内存。, 动态链接 装入时

5、链接 边装入时边链接。即装入一个目标模块后,再将它所调用的外部模块装入,可存放在内存的任何地方,并修改目标模块中的相对地址。 运行时链接 延迟到运行时,才将当前被调用的目标模块装入,并链接。,链接由链接程序将目标模块及其所需的库函数,装配 链接生成装入模块的过程。,2.程序的链接,4.1 存储管理的基本概念,实存方案 分区分配管理 分页管理 分段管理,虚存方案 请求式分页管理 请求式分段管理 段页式管理,二。存储管理的机制,内存分配策略 地址映射机制 内存保护机制,虚拟存储机制,4.2 分区存储管理,一。固定分区(Fixed Partitions) 将内存固定划分为相等或不等的区域,称为分区,

6、分区一旦划定,在执行过程中分区长度和个数将不再变化。建立内存分配表记录分区分配的情况。,简单、可靠,但产生分区“内零头”。内存利用效低。,分区存储管理的基本思想: 将内存划分为若干分区,对用户作业进行连续分配。,4.2 分区存储管理,二、可变分区(Variable Partitions) 1.数据结构 。已分配分区表 。未分配分区表 通常表项由存储控制块MCB(区号、长度、始址等)描述。 并按照某种次序构成链结构。,2.分区分配算法 首次适应算法FF(First Fit) 未分配分区按照地址从小到大排列。分配时顺序查找,选择第一个满足要求的分区进行分配。 循环首次适应算法RFF 分配时从上次已

7、分配分区的下一空闲分区开始查找。查找到链尾后,又从链首开始查找。 最佳适应算法BF(Best Fit) 按照空闲区大小升序排列,分配时顺序查找,选择第一个满足要求的最小分区进行分配。 最坏适应算法WF(Worst Fit) 未分配分区按照大小从大到小排列。分配时顺序选择当前最大区。,分配算法小结,名 称 未分配区组织 策 略 优 点 缺 点 首次适应算法 循环首次适应算法 最佳适应算法 最坏适应算法,名 称 未分配区组织 策 略 优 点 缺 点 首次适应算法 循环首次适应算法 最佳适应算法 最坏适应算法,4.2 分区存储管理(三),3。分区的分配与回收操作,将分区分配给请求者 修改数据结构,p

8、110,4.2 分区存储管理(四),3。分区的分配与回收操作,(P143 图5-10),回收,F1,回收区,F1,回收区,F2,回收区,F1,内存回收的三种情况,4.2 分区存储管理(四),3。分区的分配与回收操作,4.2 分区存储管理(五),三。动态重定位分区分配,1.紧凑技术 也称为“拼凑”技术,用于解决可变分区中产生的“外零头”,即移动某些已分配分区,使“外零头”合并为一个大的连续空闲区。 (P111 图4-8),2。分配算法,请求分配,顺序查找 空闲分区表,有可用分区,动态分配,修改数据结构,Y,空闲区总 和需求,N,紧凑,修改数据结构,Y,返回,N,显然,可变分区分配克服了内零头,提

9、高了内存的利率,但产生了外零头。使小碎片得不到利用。,返回分区号 及首地址,思 考 题,1、 说明重定位分区分配方式的地址转换机制?如何实现分区存储保护? 2、 为什么要引入对换技术?如何实现进程的对换?,4.3 分页存储管理(一),离散式内存分配 允许一个进程分配在不相连接的内存 区域中,以利于提高存储效率。,一。分页存储管理的基本思想 将地址空间划分为大小相等的页面,将内存空间也划分为大小相等的物理块,一个作业的所有页面一次装入,但可不连续存放。 1、 分页地址结构,页号 P 位移量 W,31,12 11,0,内存连续分配的问题 : 产生内零头或者外零头。 采用紧凑技术增加额外开销。,页面

10、大小通常为2的整数次幂(512字节4K)。,4.3 分页存储管理(二),页表PT(Page Table),页号 P 位移量 W,逻辑地址LA,页框号 位移量,物理地址,2、内存分配 将地址空间连续划分为大小相等的页面,将内存空间也划分为大小相等的物理块(页框),一个作业的所有页面一次装入,但可不连续存放。仅存在很少的页内零头。,为每个进程建立一张页表,每页占据一个表项,页表通常 放在内存中。,4.3 分页存储管理(三),二。地址映射机制 是通过“页表”来实现地址映射的。,页 号 块 号 存取控制,页描述子,+,如果页号页表 长度,则中断, 否则继续.,如果访问非法, 则中断,否则 继续。,页

11、号 位移量,虚拟地址 LA,块 号 位移量,物理地址,页表始址 长度,页表寄存器PTR,页 表,块号 存取控制,页描述子,页 号 0 1 . . .,块 号,位移量,4.3 分页存储管理(四),由于页表存放在内存,每存取一个数据,CPU 要访两次内存,几乎降低了一半的计算速度,为了加快地址变换的速度,在地址变换机构中建立一个高速缓冲存储器,也称为联想存储器(Associative Memory)或快表。,2。具有快表的地址变换机构,三。分页系统中的超高速缓存(Cache Memory),在Cache中,存放现行进程的页表副本,即记录现行进程中最常用的页描述子。 页表表目是在访问内存的过程中按需

12、要动态装入快表的,当进程切换时,快表被清零。 P153 图5-18 描述了具有快表的地址变换过程。,1。为什么要设置快表,4.3 分页存储管理(五),在缓存中查找页 描述子,找到了 则提取。,快表的命中率可高达 80%90%。,利用页描述子和位移量计算物理地址,2,在缓存中未找到,从页表中读取,并存入缓存。,利用页描述子和位移量计算物理地址,页号 位移量,虚拟地址,具有超高速缓冲存储器的地址变换过程,2 7 5 3 8 2 。 。 。,超高速缓存,页表,0 1 2 3 4 . . .,首先访问高速缓存,确定需要的页描述子是否在其中,如果没有发现,再访问存储器中的页表。同时将从页表中读出的页描述

13、子更新高速缓存中旧的页描述子。,4.3 分页存储管理(六),1、什么是“页表”?它具有什么样的结构?其表 项 一般包括哪些字段? 2、如何通过页表实现逻辑地址到物理地址的转换? 画出地址转换的流程图。 3、分页存储管理采用什么存储保护措施? 4、画出具有快表的地址转换过程的流程图。,问 题,4.3 分页存储管理(七),四。多级页表 设置多级页表是为了解决逻辑空间过大,所造成的页表过大,占有太大的连续内存空间的 问题。,1。二级页表 页表内再分页,分为外层页表和内层页表。 逻辑地址结构:,外层页号 P1,内层页号 P2,页内地址 d,31 22 21 12 11 0,具有二级页表的地址变换机构:

14、,问题:1. 分别画出二级页表的页描述子的结构,你认为它们 应该存放在哪里?如何存放? 2. 画出二级页表地址转换机制的流程图。,4.4 分段存储管理(一),一、分段存储管理的基本思想 1、什么是分段 页是信息的物理单位,段(segments)是信息的逻辑单位,在逻辑上是一组整体的信息,每个段都是从0开始相对编址的。,2、为什么引入分段存储管理 方便用户编程和实现共享 便于实现动态链接,4.4 分段存储管理(二),3、分段地址,在分段存储管理系统中,对所有地址空间的访问均要求两个成分:(1)段名; (2)段内地址。 例如: CALL X| 转移到子程序的入口点Y。 LOAD1, A| 将数组A

15、 的D单元的值读入寄存器1。 STORE1 B| 将寄存器1的内容存入分段B的C 单元中。,4.4 分段存储管理(三),分段地址变换由段表实现,在作业被调入时,为其建立一张段表ST(Segment Table)。,由此可见:,二、分段地址变换,所谓分段管理,就是管理由若干分段组成的作业,且按分段来进行存储分配。实现分段管理的关键在于,如何保证分段(二维)地址空间中的一个作业在线性(一维)的存储空间中正确运行。,4.4 分段存储管理(四),利用段表实现地址映射,4.4 分段存储管理(五),段号 段长 主存地址,1,10K,2,3,+,10340,分段地址变换过程,4.4 分段存储管理(六),三、分段存储保护,在进行地址转换时,将段号与段表寄存器中的段表长度进行比较,判断是否产生越界中断。 在进行存储访问时,将段地址的位移量与表目中段长进行比较,如果超过段长,便发出越界中断信号。 在段表的表目中,建立 “存取控制”项进行段保护。对非共享段

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

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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