电子科技大学软件技术基础课件 os存储管理.pptVIP

  • 5
  • 0
  • 约8.56千字
  • 约 74页
  • 2019-05-06 发布于广东
  • 举报

电子科技大学软件技术基础课件 os存储管理.ppt

操作系统内容概要 操作系统概述和基本原理 操作系统的几大基本的管理功能 处理机管理 存储器管理 设备管理 文件管理 作业管理 存储管理的基本概念 5.1存储管理的基本概念 存储管理的对象——内存 5.1.1内存与外存 存储管理的研究课题 5.1.2存储管理的主要研究课题 前提:多道程序在内存 (1)存贮分配: 为进程分配足够的内存空间 代码段和数据段 (2)地址变换 (3)存贮空间保护 多进程之间不会越界访问 (4)主存的“扩充”问题 虚拟内存管理。 地址 地址变换的基本概念 1)什么是“地址” 地址是以字节为单元的存储器编号 内存空间(绝对空间)与物理地址 整个系统从0开始,即从0号存储单元开始 程序空间(相对空间)与逻辑地址 程序由机器代码组成,以字节为单位 每个程序都从0开始 程序空间例: 用UltraEdit打开的debug.exe程序 地址变换 2)为什么要进行地址变换 多道程序并发执行: 相对空间到绝对空间的映射 3)如何进行地址变换 重定位 基地址是程序在内存中的定位 改变基地址程序就重新定位 装入和链接 5.1.3程序的装入和链接 从用户源程序到内存中可执行的代码将经历: 编译: 完成用户源程序从高级语言到机器可理解代码的转换 根据任务的需要可能形成若干相对独立的目标模块 链接: 将任务所需的目标模块链接起来,如标准库、系统库 形成一个完整的装入模块 装入: 由系统的装入操作将装入模块装入内存 装入 (1)程序的装入 涉及: 放到内存什么地方 如何内存中找到所需的逻辑单元 装入方法的类型: 绝对装入 可重定位装入 动态装入 绝对装入 A、绝对装入方式 装入模块的地址与内存实际地址完全相同 系统装入程序时工作最简单,直接分配,不变换地址 要求: 用户使用绝对地址编程 用户了解程序在内存中的存放位置 用户控制内存使用情况 可重定位装入 B、可重定位装入方式 装入模块中使用从0开始的相对地址 装入时 由系统分配内存空间, 并完成装入模块中相对地址变换为绝对地址 装入时的地址变换 动态装入 C、动态装入方式 在具有中级调度的系统中,进程出入内存的次数不只一次 装入模块中使用相对地址,装入时不变换地址,在执行时才完成地址的变换 地址的变换仍利用重定向机制 特点 方便了模块的动态装入,加载 为减少执行时间,需使用特殊的硬件支持 链接 (2)程序的链接 将任务所需的目标模块链接起来,形成一个完整的装入模块 目标模块使用的地址是相对的,都是从0开始 形成统一地址空间的装入模块的过程——链接 静态链接 A、静态链接 装入模块是完整的包含所有的目标模块 链接后装入 B、装入时动态链接 装入模块并不包含所有目标模块 由系统装入操作在装入同时找到需要的其它模块,并链接 特点: 装入模块“减肥” 有利于模块化设计 动态链接 C、运行时动态链接 装入模块不完整,装入时也没有装入所有的模块 运行时根据需要,找到所需模块,装入,链接,再执行。 需要动态装入的支持 装入后链接 特点 装入模块减肥 便于模块共享,减少内存开销 静态链接例 装入时动态链接例 运行时动态链接例 内存连续分配 5.2连续分配存储管理方式 特点:为一个用户程序分配一个连续的内存空间 程序空间本来就是连续的 用连续的内存装入连续的程序,减少管理工作的难度 单一连续分配 5.2.1单一连续分配 适用于单用户系统 1)基本思想: 内存分为系统区和用户区 用户程序占据整个用户区——仅允许一个用户 单一连续分配算法 2)单一连续分配算法 单一连续分配的存储保护 3)单一连续分配的存贮保护 存贮保护: 保护系统区不被用户错误占用 (1)设置界限寄存器: 判别地址是否超界 (2)把CPU工作状态分为“管”态和“目”态 管态:CPU只访问OS区 目态:只访问用户区 固定分区分配 5.2.2固定分区分配 适应多用户系统。 1)基本思想 内存分区 每个分区装入一道作业,同时可装入多道作业 对分区进行存贮保护 2)实现方法:分区说明表 内零头与外零头 内存分配性能评价的一类重要指标 内零头: 分配给用户但用户没有使用的空间 “多分配的空间” 外零头: 没有分配但无法分配的空间 太小而无法分配,“分不出去的空间” 单一连续分配有较大的内零头 分区分配有小于一个分区的内零头,如果分区太小就成为外零头 动态分区分配 5.2.3动态分区分配(可变分区分配) 引入 固定分区分配会造成大量的内零头 1)基本思想 分配分区时,仅将进程需要的大小分配出去,其余的仍然留在空白内存表里。 动态分区分配的实现方法 2)实现方法 动态分区分配的过程 3)分配过程 动态分区分配的算法 4)分配算法(空白分区选择) 从多个目标中选取一个 A、首次适应(First Fit) B、循环首次

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档