5.存储管理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 存储管理 本章主要内容: 5.1 存储管理的基本概念 5.2 单一连续分配 5.3 分区存储管理 5.4 覆盖与交换 5.5 分页存储管理 5.6 分段存储管理与段页存储管理 5.7 虚拟存储管理 5.8 小结 5.1 存储管理的基本概念 5.1.1 存储管理的功能 存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及从逻辑上扩充存储器 (1)内存的分配和回收:为每个进程分配一定的内存空间。由OS完成内存空间的分配和管理 (2)地址变换:将程序中的逻辑地址变换为内存中的物理地址 (3)扩充内存:借助于虚拟存储技术或其他自动覆盖技术,为用户提供比内存空间大的地址空间。解决“供大于求”的问题 (4)存储保护:保证进入内存的各道作业都在自己的存储空间内运行,互不干扰 存储器层次: 1.高速缓存Cache: 容量小、非常快速、昂贵、易变的 2.内存RAM: 容量较小、中等速度、中等价格、易变的 高速缓存Cache和内存RAM中的程序和数据可以被CPU直接存取 3.外存(磁盘): 容量大、低速、价廉、不易变的 外存中的程序和数据必须先移到内存,才能被CPU读取 由操作系统协调这些存储器的使用 5.1.2 存储分配的方式 (1)直接分配方式 (2)静态分配方式 (3)动态分配方式 5.1.3 重定位 1.重定位及相关概念 (1)源文件:存放源程序的文件 (2)目标代码:CPU能识别的二进制代码 (3)连接:将编译或汇编后得到的一组目标模块(二进制)以及模块们所需的库函数装配成一个完整的装入模块的过程 (4)相对地址(逻辑地址):用户程序经编译之后的每个目标模块都以0为基地址顺序编址 (5)绝对地址(物理地址):内存中各物理存储单元的地址是从统一的基地址顺序编址 (6)逻辑地址空间(地址空间):由程序中逻辑地址组成的地址空间 (7)内存空间(物理空间,绝对空间):由内存中一系列存储单元所限定的地址范围 (8)地址重定位(地址映射):把逻辑地址转变为内存的物理地址的过程 用户程序的主要处理阶段: (1)编辑阶段:建立源程序 (2)编译阶段:目标代码(二进制) (3)连接阶段:连接程序把目标代码连成一个整体 (4)装入阶段:放入内存 (5)运行阶段 2.重定位的分类 (1)静态重定位:在程序装入内存时一次完成逻辑地址到物理地址的转换,程序的代码发生变化 特点: a.要求为每个程序分配一片连续的存储区,在程序执行期间不能移动,难以做到程序和数据的共享 b.由软件实现,无需硬件地址变换机构 (2)动态重定位:在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址 特点: a.可以将程序分配到不连续的存储区,便于程序段的共享 b.在程序运行之前只需装入部分代码即可投入运行,然后在程序运行期间,根据需要动态申请分配内存 c.需要硬件地址变换机构,可以向用户提供一个比内存的存储空间大得多的地址空间 5.2 单一连续分配 将内存分为两个连续存储区域,其中一个存储区域分配给OS使用,另一个存储区域给用户作业使用 适用于:单用户、单任务的OS 5.3 分区存储管理 特点:将作业存放在一片连续的内存中 5.3.1 固定分区 预先把可分配的主存储器空间分割成若干个连续区域,称为一个分区。每个分区的大小可以相同也可以不同,但分区大小固定不变,每个分区装一个且只能装一个作业 存储分配:如果有一个空闲区, 则分配给进程 通过设置内存分配表,内存分配简单 缺点:内存利用率不高 5.3.2 动态分区分配 基本思想:不预先设置分区的数目和大小,而是在作业装入内存时,根据作业的大小动态建立分区,使分区大小正好满足作业的需要。因此系统中分区的大小、数目都是可变的 1.分区分配中的数据结构 设置相应的数据结构来记录内存的使用情况,常用的数据结构形式: (1)空闲分区表 (2)空闲分区链 2.分区分配算法 (1)首次适应算法 空闲分区按照地址递增的次序排列 特点: 优先利用内存低地址部分的空闲分区 (2)循环首次适应算法 (3)最佳适应算法 要求:空闲分区按容量大小递增的次序排列 (4)最差适应算法 要求空闲分区按容量大小递减的次序排列 用三种适应算法处理同一作业序列 3.分区的回收 当某一个用户作业完成释放所占分区时,系统应进行回收。在可变式分区中,应该检查回收区与内存中前后空闲区是否相邻,若相邻,则应进行合并,形成一个较大的空闲区,并对相应的链表指针进行修改;若不相邻,应将空闲区插入到空闲区链表的适当位置。 (1)回收分区r上邻接一个空闲分区 (2)回收分区r下邻接一个空闲分区 (3)回收分区r上、下邻接

文档评论(0)

hong333666 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档