操作系统第四章存储器的管理教案详解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 存储器管理 本章内容 程序的装入和链接 分区存储管理 基本分页存储管理方式 基本分段存储管理方式 虚拟存储器的基本概念 请求分页存储管理方式 页码置换算法 请求分段存储管理方式 4.1 程序的装入和链接 4.1.1 存储组织 4.1.2 存储管理的功能 4.1.3 重定位方法 4.1.4 链接 4.1.1 存储组织 存储器的功能是保存数据,存储器的发展方向是高速、大容量和小体积。 内存在访问速度方面的发展:DRAM、SDRAM、DRDRAM、SRAM等; 硬盘技术在大容量方面的发展:接口标准、存储密度等; 存储组织是指在存储技术和CPU寻址技术许可的范围内组织合理的存储结构。 其依据是访问速度匹配关系、容量要求和价格。 “寄存器-内存-外存”结构 “寄存器-缓存-内存-外存”结构; 微机中的存储层次组织: 访问速度越慢,容量越大,价格越便宜; 最佳状态应是各层次的存储器都处于均衡的繁忙状态(如:缓存命中率正好使主存读写保持繁忙); 存储层次结构 快速缓存:SRAM Data Cache TLB(Translation Lookaside Buffer) 内存:DRAM, SDRAM, DRDRAM等; 外存:软盘、硬盘、光盘、磁带等; 4.1.2 存储管理的功能 虚拟存储器:——存储器扩充,存储器的逻辑组织和物理组织; 由应用程序控制:覆盖; 由OS控制:交换(整个进程空间),虚拟存储的请求调入和预调入(部分进程空间) 地址变换: 可执行文件生成中的链接技术 程序加载(装入)时的重定位技术 进程运行时硬件和软件的地址变换技术和机构 内外存数据传输的控制: 存储分配和回收:分配和回收算法及相应的数据结构。 存储共享和保护: 代码和数据共享 地址空间访问权限(读、写、执行) 4.1.3 重定位方法 重定位:实质是地址变换,它将作业地址空间中的逻辑地址转换为内存空间中的物理地址,从而保证作业能够正常执行。由操作系统中的装入程序loader来完成。 程序在成为进程前的准备工作 编辑:形成源文件(符号地址) 编译:形成目标模块(模块内符号地址解析) 链接:由多个目标模块或程序库生成可执行文件 (模块间符号地址解析) 装入:构造PCB,形成进程(使用物理地址) 重定位方法: 绝对装入 可重定位装入 动态装入 1. 逻辑地址、物理地址和地址映射 逻辑地址(相对地址,虚地址):用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式。 其首地址为0,其余指令中的地址都相对于首地址来编址。 不能用逻辑地址在内存中读取信息。 物理地址(绝对地址,实地址):内存中存储单元的地址。物理地址可直接寻址。 地址映射:将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。 当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致, 而CPU执行指令时,是按物理地址进行的,所以要进行地址转换。 程序的装入和链接 编译 ? 链接 ? 装入 编译:目标模块 链接:装入模块 装入:将模块装入内存 绝对装入 优点:装入过程简单。 缺点:过于依赖于硬件结构,不适于多道程序系统。 可重定位装入 优点:不需硬件支持,可以装入有限多道程序 (如MS DOS中的TSR)。 缺点:一个程序通常需要占用连续的内存空间,程序装入内存后不能移动。不易实现共享。 动态装入 优点: OS可以将一个程序分散存放于不连续的内存空间,可以移动程序,有利用实现共享。能够支持程序执行中产生的地址引用,如指针变量(而不仅是生成可执行文件时的地址引用)。 缺点: 需要硬件支持(通常是CPU),OS实现较复杂。 它是虚拟存储的基础。 4.1.4 链接 链接方法 静态链接 动态链接 静态链接(static-linking) 动态链接(dynamic-linking) 优点 共享:多个进程可以共用一个DLL,节省内存,减少文件交换。 部分装入:一个进程可以将多种操作分散在不同的DLL中实现,而只将当前操作相应的DLL装入内存。 便于局部代码修改:即便于代码升级和代码重用;只要函数的接口参数(输入和输出)不变,则修改函数及其DLL,无需对可执行文件重新编译或链接。 便于运行环境适应:调用不同的DLL,就可以适应多种使用环境和提供不同功能。如:不同的显示卡只需厂商为其提供特定的DLL,而OS和应用程序不必修改。 缺点: 链接开销:增加了程序执行时的链接开销; 管理开销:程序由多个文件组成,增加管理复杂度。 4.2分区存储管理 4.2.1 基本原理 4.2.2 固定分区(fixed partitioning) 4.2.3 动态分区(dynamic partitioning)

文档评论(0)

我是兰花草 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档