os存储管理.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统内容概要 操作系统概述和基本原理 操作系统的几大基本的管理功能 处理机管理 存储器管理 设备管理 文件管理 作业管理 存储管理的基本概念 存储管理的基本概念 存储管理的对象——内存 内存与外存 存储管理的研究课题 存储管理的主要研究课题 前提:多道程序在内存 (1)存贮分配: 为进程分配足够的内存空间 代码段和数据段 (2)地址变换 (3)存贮空间保护 多进程之间不会越界访问 (4)主存的“扩充”问题 虚拟内存管理。 地址 地址变换的基本概念 1)什么是“地址” 地址是以字节为单元的存储器编号 内存空间(绝对空间)与物理地址 整个系统从0开始,即从0号存储单元开始 程序空间(相对空间)与逻辑地址 程序由机器代码组成,以字节为单位 每个程序都从0开始 地址变换 2)为什么要进行地址变换 多道程序并发执行: 相对空间到绝对空间的映射 3)如何进行地址变换 重定位 基地址是程序在内存中的定位 改变基地址程序就重新定位 装入和链接 程序的装入和链接 从用户源程序到内存中可执行的代码将经历: 编译: 完成用户源程序从高级语言到机器可理解代码的转换 根据任务的需要可能形成若干相对独立的目标模块 链接: 将任务所需的目标模块链接起来,如标准库、系统库 形成一个完整的装入模块 装入: 由系统的装入操作将装入模块装入内存 装入 (1)程序的装入 涉及: 放到内存什么地方 如何内存中找到所需的逻辑单元 装入方法的类型: 绝对装入 可重定位装入 动态装入 绝对装入 A、绝对装入方式 装入模块的地址与内存实际地址完全相同 系统装入程序时工作最简单,直接分配,不变换地址 要求: 用户使用绝对地址编程 用户了解程序在内存中的存放位置 用户控制内存使用情况 可重定位装入 B、可重定位装入方式 装入模块中使用从0开始的相对地址 装入时 由系统分配内存空间, 并完成装入模块中相对地址变换为绝对地址 装入时的地址变换 动态装入 C、动态装入方式 在具有中级调度的系统中,进程出入内存的次数不只一次 装入模块中使用相对地址,装入时不变换地址,在执行时才完成地址的变换 地址的变换仍利用重定向机制 特点 方便了模块的动态装入,加载 为减少执行时间,需使用特殊的硬件支持 链接 (2)程序的链接 将任务所需的目标模块链接起来,形成一个完整的装入模块 目标模块使用的地址是相对的,都是从0开始 形成统一地址空间的装入模块的过程——链接 静态链接 A、静态链接 装入模块是完整的包含所有的目标模块 链接后装入 B、装入时动态链接 装入模块并不包含所有目标模块 由系统装入操作在装入同时找到需要的其它模块,并链接 特点: 装入模块“减肥” 有利于模块化设计 动态链接 C、运行时动态链接 装入模块不完整,装入时也没有装入所有的模块 运行时根据需要,找到所需模块,装入,链接,再执行。 需要动态装入的支持 装入后链接 特点 装入模块减肥 便于模块共享,减少内存开销 内存连续分配 连续分配存储管理方式 特点:为一个用户程序分配一个连续的内存空间 程序空间本来就是连续的 用连续的内存装入连续的程序,减少管理工作的难度 单一连续分配 单一连续分配 适用于单用户系统 1)基本思想: 内存分为系统区和用户区 用户程序占据整个用户区——仅允许一个用户 单一连续分配算法 2)单一连续分配算法 单一连续分配的存储保护 3)单一连续分配的存贮保护 存贮保护: 保护系统区不被用户错误占用 (1)设置界限寄存器: 判别地址是否超界 (2)把CPU工作状态分为“管”态和“目”态 管态:CPU只访问OS区 目态:只访问用户区 固定分区分配 固定分区分配 适应多用户系统。 1)基本思想 内存分区 每个分区装入一道作业,同时可装入多道作业 对分区进行存贮保护 2)实现方法:分区说明表 内零头与外零头 内存分配性能评价的一类重要指标 内零头: 分配给用户但用户没有使用的空间 “多分配的空间” 外零头: 没有分配但无法分配的空间 太小而无法分配,“分不出去的空间” 单一连续分配有较大的内零头 分区分配有小于一个分区的内零头,如果分区太小就成为外零头 动态分区分配 动态分区分配(可变分区分配) 引入 固定分区分配会造成大量的内零头 1)基本思想 分配分区时,仅将进程需要的大小分配出去,其余的仍然留在空白内存表里。 动态分区分配的实现方法 2)实现方法 动态分区分配的算法 4)分配算法(空白分区选择) 从多个目标中选取一个 A、首次适应(First Fit) B、循环首次适应 C、最佳适应 D、最差适应 首次适应 A、首次适应 第一次遇到可装入程序的分区就分配的算法 步骤: (1)将空白分区按地址递增顺序链接 (2)从链首开始查找适合的分区 (3)从选中的分区中分出所需的大小,其余部分

您可能关注的文档

文档评论(0)

精华文档888 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档