操作系统(第三版)+刘振鹏 第5章 存储器管理

上传人:E**** 文档编号:89484269 上传时间:2019-05-25 格式:PPT 页数:44 大小:361KB
返回 下载 相关 举报
操作系统(第三版)+刘振鹏 第5章 存储器管理_第1页
第1页 / 共44页
操作系统(第三版)+刘振鹏 第5章 存储器管理_第2页
第2页 / 共44页
操作系统(第三版)+刘振鹏 第5章 存储器管理_第3页
第3页 / 共44页
操作系统(第三版)+刘振鹏 第5章 存储器管理_第4页
第4页 / 共44页
操作系统(第三版)+刘振鹏 第5章 存储器管理_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《操作系统(第三版)+刘振鹏 第5章 存储器管理》由会员分享,可在线阅读,更多相关《操作系统(第三版)+刘振鹏 第5章 存储器管理(44页珍藏版)》请在金锄头文库上搜索。

1、操作系统(第三版),第5章 存储器管理,本章主要内容:,5-1 概述 5-2 连续存储管理方式 5-3 覆盖技术与交换技术 5-4 分页存储管理方式 5-5 分段存储管理方式 5-6 段页式存储管理方式 5-7 虚拟存储器 5-8 Linux的内存管理,5.1 概述,5-1-1 存储体系 计算机系统中存储器一般分为主存储器(内存)和辅助存储器(外存)两级 内存可以分成系统区和用户区两部分,系统区用来存储操作系统等系统软件,用户区用于分配给用户作业使用 5-1-2 存储管理的目的 为用户提供方便、安全和充分大的存储空间 5-1-3 存储管理的任务 地址转换 逻辑地址 用户源程序经过编译或汇编后形

2、成的目标代码中出现的地址,通常为相对地址形式,即规定目标程序的首地址为零,而其它指令中的地址部分都是相对于首地址而定的,这里的地址通常称为“逻辑地址”,有时也称为相对地址 物理地址 内存储器中各存储单元的编号称为物理地址 ,物理地址有时也称为绝对地址,5.1 概述,5-1-1 存储体系 计算机系统中存储器一般分为主存储器(内存)和辅助存储器(外存)两级 内存可以分成系统区和用户区两部分,系统区用来存储操作系统等系统软件,用户区用于分配给用户作业使用 5-1-2 存储管理的目的 为用户提供方便 安全和充分大的存储空间,5.1 概述,5-1-3 存储管理的任务 地址转换 逻辑地址 用户源程序经过编

3、译或汇编后形成的目标代码中出现的地址,通常为相对地址形式,即规定目标程序的首地址为零,而其它指令中的地址部分都是相对于首地址而定的,这里的地址通常称为“逻辑地址”,有时也称为相对地址 物理地址 内存储器中各存储单元的编号称为物理地址 ,物理地址有时也称为绝对地址,5.1 概述,内存的分配和回收 当用户提出内存申请时,操作系统按一定策略从表中选出符合申请者要求的空闲区进行分配,并修改表内有关项,这称为内存的分配;若某进程执行完毕,需归还内存空间时,操作系统负责及时收回相关存储空间,并修改表中有关项,这称为内存的回收。 内存的地址保护 内存储器的地址保护功能一般由硬件和软件配合实现 内存的共享 共

4、享内存储器资源 共享内存储器的某些区域 内存的扩充 内存储器的扩充不是硬件设备上的扩充,而是用虚拟技术来实现的逻辑上的扩充,即虚拟存储概念,5.1 概述,5-1-4 程序的链接和装入 将一个用户源程序变为一个可在内存中执行的程序,通常需要经过以下几个步骤:首先是编译,由编译程序将用户源代码编译成若干个目标模块;其次是链接,由链接程序将编译后形成的目标模块以及它们所需要的库函数链接在一起,形成一个装入模块;最后是装入,由装入程序将装入模块装入内存。 程序的链接 静态链接方式、 装入时动态链接 运行时动态链接 程序的装入 绝对装入方式 可重定位装入方式 动态运行时装入方式,5.2 连续存储管理方式

5、,5-2-1 单一连续分配 基本思想 内存的用户区一次只分配给一个作业使用 存储保护机制 基址寄存器和界限地址寄存器 特点 这种管理方式的分配、去配算法非常简单,内存的利用率很低,5.2 连续存储管理方式,5-2-2 分区分配 分区分配的存储管理是为了适应多道程序设计技术而产生的最简单的管理方式 固定分区 基本思想 系统预先把内存中的用户区分成若干个连续的区域,每个区域称为一个“分区”。作业装入时,根据它对内存大小的需求量,系统将按照一定的策略,把能满足它要求的一个分区分配给该作业 分配和回收 固定分区分配表,内容包括分区号、起始地址、长度、占用标志等,存储保护机制 上、下限寄存器或基址、长度

6、寄存器 优缺点 优点:简单易行,适用于专用系统 缺点:内存利用不充分,作业的大小受到分区大小的限制 可变分区 基本思想 系统并不预先划分内存区间,而是在作业装入时根据作业的实际需要动态地划分内存空间。若无空闲的存储空间或无足够大的空闲存储空间供分配时,则令该作业等待 分配中的数据结构 常用的数据结构有已分分区表和空闲分区表,5.2 连续存储管理方式,已分分区表中记录当前已经分配给用户作业的内存分区,包括分区序号、开始地址、分区大小等信息 空闲分区表记录了当前内存中空闲分区的情况,包括分区序号、开始地址、分区大小 分区分配算法 首次适应算法 要求空闲分区链以地址递增的次序链接,在进行内存分配时,

7、从链首开始顺序查找,直至找到一个能满足其大小要求的空闲分区为止 循环首次适应算法 在为作业分配内存空间时,不再每次从链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找。直至找到第一个能满足要求的空闲分区,5.2 连续存储管理方式,最佳适应算法 把既能满足要求、又是最小的空闲分区分配给作业 最差适应算法 每次为作业分配内存时,总是找到一个满足作业长度要求的最大空闲分区进行分配 内存分区分配操作 首先,系统要利用某种分配算法,从空闲分区链(表)中找到所需的适合分区。设请求的分区大小为u.size,表中每个空闲分区的大小可表为m.size。若m.size-u.size小于系统规定的不在切

8、割的剩余分区的大小size值、则将整个分区分配给请求者;否则从该分区中划分出与请求的大小相等的内存空间分配出去。余下的部分仍留在空闲分区表或空闲分区链中。最后,将分配区的首址返回给调用者,5.2 连续存储管理方式,内存分区回收操作 当作业运行完毕释放内存时,系统根据回收区的首址,从空闲分区表(链)中找到相应的插入点,进行回收,此时可能出现以下四种情况: 回收区与插入点的前一个分区相邻接,两分区合并 回收区与插入点的后一个分区相邻接 ,两分区合并 回收区同时与插入点的前、后两个分区邻接 ,三分区合并 回收区与插入点前、后两个分区都不相邻 ,单独一个分区,5.2 连续存储管理方式,5.2 连续存储

9、管理方式,可变分区分配的优缺点 优点:有助于多道程序设计,提高了内存的利用率;要求硬件支持少,代价低 ; 管理算法简单,实现容易 缺点:必须给作业分配一连续的内存区域 ; 碎片问题严重,内存仍不能得到充分利用: 不能实现对内存的扩充 紧凑 紧凑是解决“碎片”问题的一种方法 定义 通过移动,把多个分散的小分区拼接成大分区的方法被称为“紧凑”或“ 拼接” 代价与时间 紧凑的开销很大,当系统中每个空闲区域单独均不能满足,但所有空闲区域之和能够满足时才进行一次紧凑,5.3 覆盖技术与交换技术,5-3-1 覆盖技术 定义 可以相互覆盖的程序段叫做覆盖 可共享的内存区叫做覆盖区 把程序执行时并不要求同时装

10、入内存的覆盖组成一组,叫覆盖段,并分配同一个内存区 实现 为了实现覆盖管理,系统必须提供相应的覆盖管理控制程序 覆盖技术的关键是提供正确的覆盖结构 特点 打破了必须将一个作业的全部信息装入内存后才能运行的限制,在一定程度上解决了小内存运行大作业的矛盾,5.3 覆盖技术与交换技术,5-3-2 交换技术 定义 所谓交换,就是系统根据需要把内存中暂时不运行的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的内存区,并使其投入运行 实现 将交换技术与多道程序技术结合起来,减少交换的次数,提高各作业的响应时间 交换技术的关键是设法减少每次交换的信息量。为此,常将作业的副本保留

11、在外存,每次换出时,仅换出那些修改过的信息即可 特点 打破了一个程序一旦进入内存便一直运行到结束的限制,5.4 分页存储管理方式,5-4-1 基本思想(工作原理) 基本思想 将作业地址空间和存储空间按相同长度为单位进行等划分。把每个作业的地址空间(逻辑空间)分成一些大小相同的片段,叫做页面或页(Page)。把内存的存储空间也分成大小与页面相同的片段,叫做物理块或页框(Frame)。在分配存储空间时,总是以块为单位,按照作业的页数分配物理块。分配的物理块可以连续也可以不连续,5.4 分页存储管理方式,页表 页表的作用是实现从页号到物理块号 的映射 页面大小选择 页面的大小要选择得适中。通常页面

12、的大小是2的幂,且常在29213之间,即 在512字节 8K字节之间 存取控制 即使在简单的分页系统中,也常在页 表的表项中设置一存取控制字段,用于对 该存储块中的内容进行保护。,5.4 分页存储管理方式,5-4-2 动态地址变换 地址结构 逻辑地址可以分解成:页号、页内地址(页内位移量) 物理地址可以分解成:物理块号、物理块内地址(物理块内位移) 图5-14 分页存储中的地址结构,页号p 页内地址d,5.4 分页存储管理方式,地址变换 地址变换即通过地址变换机构 把逻辑地址变换成相应的物理地址, 实际上是将逻辑地址中的页号,转 换为内存中的物理块号。因为页表 的作用就是用于实现页号到物理块

13、号的变换,因此,地址变换任务是 借助于页表来完成的 除此以外,系统设置了一个页 表寄存器PTR(Page-Table Register),其中存放页表在内存的始址和页表的长度,5.4 分页存储管理方式,例:在分页存储管理系统中,逻辑地址的长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0、1、2页依次存放在物理块5、10、11中,问相应的物理地址是多少? 分析:在分页存储管理系统中进行地址转换时,地址变换机构将自动把逻辑地址转化为页号和页内地址,如果页号不小于页表长度,则产生越界中断;否则便以页号为索引去检索页表,从中得到对应的块号,并把块号和页内位移分别送入物理地址寄存

14、器的块号和块内位移字段中,形成物理地址。,5.4 分页存储管理方式,答:由题目所给条件可知,分页存储管理系统的逻辑地址结构为: 15 12 11 0 逻辑地址2F6AH的二进制表示如下: 0010 111101101010 页号 页内位移 由此可知逻辑地址2F6AH的页号为2,小于页表长度3,没有越界,该页存放在第11个物理块中,用十六进制表示块号为B,所以物理地址为BF6AH。,页号 页内位移,5.4 分页存储管理方式,5-4-3 快表 由于页表存储在内存中, 所以当要按照给定的逻辑地 址进行读/写时,需要两次访 问内存,一次是根据页号访 问页表,读出页表相应栏中 的块号以便形成物理地址;

15、第二次是根据物理地址进行 读/写操作。这样比通常执行 指令的速度慢一倍。为了提 高存取速度,在地址变换机构中增设了一个具有并行查寻能力的特殊高速缓冲存储器,又称为“联想存储器”或“快表”,5.4 分页存储管理方式,两级和多级页表 现代的大多数计算机系统都支持非常大的逻辑地址空间,此时,页表就变得非常大,要为它分配一大段连续的内存空间将变得十分困难 解决办法:采用离散分配方式来解决难以找到一块连续的内存空间问题; 只将当前需要的部分页表项调入内存,其余的页表项仍驻留在磁盘上,需要时再调入。,5.4 分页存储管理方式,5-4-4 分配与回收 采用位示图的方法,用一位来表示一块内存块,用一位的两种状

16、态来表示内存块是空闲还是已分配 分配方法: 根据进程的页数得到其所需的物理块数,检查空闲物理块总数是否足够,不能满足则分配失败;能满足该进程的需求,则查位示图中为“0”的位,计算出物理块号,并写入进程的页表。位示图中第i个字的第j位对应的物理块号为: 块号=i位示图中的字长+j 回收方法: 根据回收进程的页表,依次计算每个物理块所对应的位在位示图中的位置第i字,第j位,并将该位置0,最后增加空闲物理块总数。 i=块号/位示图中的字长 j=块号%位示图中的字长,5.5 分段存储管理方式,5-5-1 基本思想(工作原理) 基本思想 每个作业的地址空间按照自身的逻辑关系划分成若干段(比如主程序段、子程序段、数据段、堆栈段等)每个段都有自己的名字,通常可用一个段号来代替段名,每个段都从0开始独立编址,段内地址连续。段的长度由相应的逻辑信息组的长度决定,因而各段的长度不等。分配内存时,为每个段分配一连续的存储空间,段间地址空间可以不连续 段表 段表实现了

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

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

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