- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]自考-操作系统概论-第3章 存储管理
第3章 存储管理 操作系统概论 主要内容 3.1 计算机系统中的存储器 3.2 重定位 3.3 单用户连续存储管理 3.4 固定分区存储管理 3.5 可变分区存储管理 3.6 页式虚拟存储管理 存储管理概述 内存的作用 为什么需要存储管理? 帕金森定律:你给程序再多内存,程序也会想尽办法耗光 内存管理的目的 操作系统的“方便”性 便于用户装入程序,无须了解底层细节 可实现动态的存储空间伸缩,适应不同程序的需要 操作系统的“合理”性 合理分配内存空间,保证多道程序的顺利运行 合理保护内存空间,防止各种可能的破坏泄漏 操作系统的“有效性” 有效保持内存空间的可用性,防止对资源的浪费 有效实现“小空间大容量”,提高计算机的适应性 有效配合CPU的调度过程,实现系统运行的稳定 内存管理的任务 内存空间的管理、分配和回收 内存空间的使用情况记录——位图、分配表、分区表 内存空间的分配与回收——定长与不定长、静态与动态 内存空间的地址映射(转换) 物理地址与逻辑地址的差别 内存空间的共享和保护 内存共享 内存保护:如何防止地址越界或操作越权? 内存空间的扩充 虚拟存储:如何使用小内存空间来运行大的程序? 3.2 重定位 3.2.1 绝对地址和逻辑地址 3.2.2 重定位 在作业装入过程中随即进行的地址变换方式称为静态重定位或静态地址映射 在程序执行期间,随着每条指令和数据的访问自动地连续地进行地址映射 静态地址映射 动态地址映射 ? 在作业装入过程中 ? 在程序执行期间 进行地址映射 进行地址映射 ? 需软件 ? 需硬件地址变换机构 重定位装入程序 重定位寄存器 ? 需花费较多CPU时间 ? 地址变换快 ? 不灵活 ? 灵活 单用户连续存储管理(cont.) 最简单的管理方式(只有分配与回收) 操作系统和用户程序共享RAM 除了嵌入式系统外,其他的计算机不再使用这种方式 固定分区存储管理的问题 如何实现内存的分配与回收? 已知内存分区数为N,已知进程数为M,如何分配内存? 关于回收:OS维护的内存分区表中应该有哪些信息? 内存地址映射与存储保护 重定位问题与保护:物理地址和逻辑地址的映射关系 内存空间的扩充,提高主存空间利用率 使用固定分区的形式可以实现内存的扩充吗? 3.4 固定分区存储管理 3.4.1 主存空间的分配与回收 3.4.2 地址转换和存储保护 3.4.3 如何提高主存空间的利用率 3.4.1 主存空间的分配和回收 如何知道那个分区被占用,那个空闲 分区分配表:说明各区的分配和使用情况 分区分配表 分区号,起始位置,长度,占用标志 内存的分配和回收 修改标志位 3.4.2 地址转换和存储保护 地址转换:静态重定位(在调入内存时直接修改指令) 存储保护: 引入界限寄存器(下限寄存器,上限寄存器) 下限寄存器=绝对地址上限寄存器 3.4.3 如何提高主存空间的利用率 每个作业占用一个分区,且只占用一部分 提高主存利用率: 根据经常出现的作业的大小和数量来划分分区 划分分区时,按分区的大小顺序排列.找到一个能满足作业要求的最小空闲分区分配给作业. 按作业对主存要求排成多个队列:能有效防止小作业进入大分区 划分分区的注意事项 可能出现的作业大小 作业频率 划分不当:某个作业队列长期为空,影响分区的使用效率 3.5 可变分区存储管理 基本思想: 内存不是预先划分好的 作业装入时,根据作业的需求和内存空间的使用情况来决定是否分配 若有足够的空间,则按需要分割一部分分区给该进程;否则令其等待内存空间 -- 分区的长度不是预先确定的,按需划分 -- 分区的个数也不是预先确定的,是由装入的作业数决定的 3.5 可变分区存储管理 3.5.1 主存空间的分配与回收 3.5.2 地址转换和存储保护 3.5.3 移动技术 内存的回收: 当作业结束时,它的占用分区被收回。这个空闲区又可以根据新作业的大小重新用于分配,所以主存中的已占分区和空闲区的数目和大小都是在变化的 可以用 “空闲区表”来记录和管理:记录空闲区的起始地址和长度 分区的分配与回收 1. 分区分配 ? 用户请求分配一个主存块 ? 分区分配程序在空闲块队列中找一个满足用户需要的空闲块; ?
文档评论(0)