操作系统 第4章 存储器管理.ppt

  1. 1、本文档共190页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 存储器管理 存储管理是指存储器资源(主要指内存和外存)的管理。本章我们讨论的内容包括: 存储器资源的组织(如内存的组织方式) 地址变换(逻辑地址与物理地址的对应关系) 存储器的功能:保存数据. 存储器的发展方向是高速、大容量和小体积。 如:内存在访问速度方面的发展:DRAM(动态随机存储器 )、SDRAM(同步动态随机存储器 )、DDRAM(DoubleDataRate )、RDRAM(存储器总线式动态随机存储器 )等;硬盘技术在大容量方面的发展:接口标准、存储密度等; 存储组织的功能:存储技术和CPU寻址技术许可的范围内组织合理的存储结构,其依据是访问速度匹配关系、容量要求和价格。 如:“寄存器-内存-外存”结构和“寄存器-缓存-内存-外存”结构; 现在微机中的存储层次组织:访问速度越来越慢,容量越来越大,价格越来越便宜;最佳状态应是各层次的存储器都处于均衡的繁忙状态(如:缓存命中率正好使主存读写保持繁忙) 存储管理的功能 (1)??存储分配和回收:是存储管理的主要内容。讨论其算法和相应的数据结构。 (2)???地址变换:可执行文件生成中的链接技术、程序加载时的重定位技术,进程运行时硬件和软件的地址变换技术和机构。 (3)???存储共享和保护:代码和数据共享,对地址空间的访问权限(读、写、执行)。 (4)?存储器扩充:它涉及存储器的逻辑组织和物理组织; 由应用程序控制:覆盖; 由OS控制:交换(整个进程空间),请求调入和预调入(部分进程空间) 背景 程序必须装入到内存并放置在该进程拥有的内存区域中才能执行。 输入队列 – 存放在磁盘上等待装入内存以便运行的程序队列集合。 用户程序在获得执行以前需要经历几个步骤:生成源程序文件、生成目标模块、生成可加载模块以及在内存中创建进程。 4.1 程序的装入和链接 步骤:编译、链接、装入。 可执行文件的建立:源程序,编译,成为目标模块--多个目标模块或程序库,链接,成为可执行文件--装入,成为进程 编译:高级语言的源程序→机器指令 符号地址→内存地址(相对地址) 链接:将各个目标模块中的相对地址统一转成相对于各个模块地址的位移。 装入:执行程序时,将该程序和其所要处理的数据装入内存。 装入: 重定位:在可执行文件装入时需要解决可执行文件中地址(指令和数据)和内存地址的对应。由操作系统中的装入程序loader来完成 程序的装入 三种方式: 1.?绝对装入(absolute loading) 在可执行文件中记录内存地址,装入时直接定位在上述内存地址。 程序中所使用的绝对地址,既可在编译或汇编时给出, 也可由程序员直接赋予。 但在由程序员直接给出绝对地址时, 不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。 优点:装入过程简单。 缺点:过于依赖于硬件结构,不适于多道程序系统。 重定位的概念 可重定位装入(静态) (relocatable loading) 在装入前链接所假设的程序地址与此时装入的实际地址不一致。 在可执行文件中,列出各个需要重定位的地址单元和相对地址值,装入时再根据所定位的内存地址去修改每个重定位地址项,添加相应偏移量。 重定位分类:静态重定位 优点:不需硬件支持,可以装入有限多道程序. 缺点: 一个程序通常需要占用连续的内存空间,程序装入内存后不能移动。 不易实现共享。 动态运行期装入(动态重地位) (dynamic run-time loading) 在可执行文件中记录虚拟内存地址,装入和执行时通过硬件地址变换机构,完成虚拟地址到实际内存地址的变换。 重定位分类:动态重定位 优点: OS可以将一个程序分散存放于不连续的内存空间,可以移动程序,有利用实现共享。 能够支持程序执行中产生的地址引用,如指针变量(而不仅是生成可执行文件时的地址引用) 缺点:需要硬件支持(通常是CPU),OS实现较复杂--是虚拟存储的基础 逻辑地址空间与物理地址空间 将逻辑地址空间与物理地址空间相分离,是内存管理的核心。 逻辑地址 – 由CPU(指令译码器)生成的地址(程序员使用的地址或指令的地址码部分最终确定的地址),也称虚地址 ( virtual address)。 物理地址 – 内存单元的地址。 如果地址绑定工作在编译阶段或加载阶段完成,那么逻辑地址与物理地址是相同的。如果地址绑定工作在执行阶段完成,那么逻辑地址(虚地址)与物理地址是不相同的。 存储管理单元 (MMU) MMU是一个硬件装置,它将虚地址映射(转换)成物理地址。(MMU目前是作为CPU硬件的一个功能单元存在于CPU中) 在使用 MMU 的方案中,用户进程每次产生的地址在送到存储器(译码器)之前,都要加上存放在重定位

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档