操作系统第2版孟庆昌牛欣源编著课件第五章存储管理.ppt

操作系统第2版孟庆昌牛欣源编著课件第五章存储管理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第2版孟庆昌牛欣源编著课件第五章存储管理

操作系统讲义 第5章 存 储 管 理 5.1 引 言 5.2 分 区 法 5.5 分 页 技 术 5.6 分 段 技 术 5.7 段页式技术 5.8 虚拟存储器 5.9 请求分页技术 5.10 页面置换算法 5.1 引 言 内存(Main Memory或Primary Memory或Real Memory)也称主存。 指CPU能直接存取指令和数据的存储器,统一编址。 5.1.1 用户程序的执行 5.1.1 用户程序的主要处理阶段 1.编辑阶段:编辑源代码。 2.编译阶段:源代码转换为二进制指令构成的目标代码模块。 3.链接阶段:将目标模块及所需的库函数链接形成一个可执行程序。 4.装入阶段:将可执行程序装入内存某地址空间。 5.运行阶段:从第一条指令开始运行程序。 内存的使用 每个目标模块指令代码都以0为基地址顺序编址,称为相对地址或逻辑地址。 内存中物理存储单元统一由基地址0开始顺序编址,称为绝对地址或物理地址。 可执行程序各条指令需要进行地址转换方能正确执行。 主存管理功能 逻辑地址到物理地址的地址转换 内存分配和回收 存储保护 内存扩充(虚拟存储技术) 5.1.2 重定位 程序逻辑地址的范围为逻辑地址空间。 可执行程序存放的内存存储单元的范围为物理地址空间。 用户程序和数据装入内存时,需对目标程序中的逻辑地址进行修改,把逻辑地址转变为物理地址的过程称做地址重定位 。 1.静态重定位 目标程序装入内存时,由装入程序对目标程序中的指令地址、数据地址进行修改,完成逻辑地址到物理地址的转换。 图5-4 静态重定位示意图 静态重定位技术分析 优点 不需要硬件的支持 缺点 程序必须占用连续的内存空间 程序装入后不能移动位置 不支持虚拟存储及其交换技术 进程难以共享程序代码 2.动态重定位 在每条指令执行时,对所访问的内存进行地址重定位。 硬件地址转换机构实现动态重定位。 图5-5 动态重定位示意图 5.2 分 区 法 支持多道程序运行的一种存储管理方式。 把整个内存划分为若干大小不等的区域,操作系统占用一个区域,其它区域供用户进程共享,每个进程占用一个分区,这种方法称为分区存储管理。 分区的划分: 固定分区 动态分区 5.2.1 固定分区法 内存中分区个数、分区大小固定,每个分区装入一个进程。 1.分区的大小 划分分区大小有两种方式: 分区大小相同 分区大小不同 2.内存分配 分区等分方式,进程装入内存很简单。 分区差分方式,有多个输入队列法和单一输入队列法 5.2.2 动态分区法 1.分区的分配 进程进入内存建立分区,大小适应进程的需要。这种技术称为动态分区法。 2.数据结构 (1)空闲分区表存放 (2)空闲分区链存放 3.动态分区分配算法 (1)最先适应算法 空闲表按内存地址顺序排列 (2)最佳(坏)适应算法 空闲表按空闲块大小的增量形式排列 (3)循环适应算法 最先适应算法的变种。从上次找到的可用分区的下一个空闲分区开始查找,顺序选择满足要求的第一个空闲分区。 5.3 可重定位分区分配 5.3.1 碎片问题 内存中尺寸太小、无法利用的小分区称做“碎片”。 固定分区法会产生内部碎片。动态分区会产生外部碎片. 5.3.1 碎片问题 紧缩的时机 进程结束、释放所占用的分区时(空闲区有可能相邻) 在分配进程的分区时(空闲区有可能不够) 5.3.2 紧缩 移动某些已分配区,使所有进程的分区紧邻的技术。 5.3.3 动态重定位的实现 动态重定位经常用硬件实现 硬件支持 基址寄存器 限长寄存器 5.3.4 可重定位分区法优缺点 优点 可以消除碎片,能够分配更多的分区,有助于多道程序设计,提高内存的利用率。 缺点 紧缩技术花费CPU时间 当进程大于整个空闲区无法装入时,仍要浪费一定的内存 进程的存储区内可能放有从未使用的信息 进程之间无法对信息共享 5.4 对 换 技 术 5.5 分 页 技 术 5.5.1 分页存储管理的基本概念 把用户程序按逻辑页划分成大小相等的部分,称为页(page) 。从0开始编制页号,页内地址从0开始编址。 (1)逻辑地址空间——分页 (2)内存地址空间——分块 页(或块)大小由硬件(系统)确定 (3)逻辑地址表示 以块为单位分配内存 进程每个页面对应一个内存块 一个进程页面可以装入物理上不连续的内存块 页表记录分配结果 内存块表记录内存使用情况 每个内存块在内存块表中占一项,记录该块的状态:空闲/分配。 5.5.2 分页系统中的地址映射 5.5.3 页面尺寸p的讨论 5.5.4 硬件支持 将页表保存在内存中,由一个页表基址寄存器PTBR指向该页表。整个系统只有一个PTBR。 内存存取速度下降50%!

文档评论(0)

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

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

1亿VIP精品文档

相关文档