- 1、本文档共106页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章存储器管理操作系统
第四章 存储器管理 重点 理解重定位的基本概念 掌握动态分区分配方式 掌握理解分页和分段存储管理方式 理解虚拟存储器的基本概念 掌握请求分页系统的基本原理 难点 动态分区分配算法 分页和分段地址转换 请求分页系统的地址转换及页面置换算法 第四章 存储器管理 知识点 重定位的基本概念 动态分区分配方式及分配算法、分区保护 分页存储管理及地址变换、分段存储管理及地址变换,信息共享和保护 虚拟存储器的基本概念、特征,页面置换技术 请求分页系统,页表机制、地址变换及页面置换算法 第四章 存储器管理 存储器是计算机系统重要的组成部分 虽然存储器的容量不断扩大,但仍不能满足要求,因此存储器管理是操作系统的重要工作 第四章 存储器管理 存储器包括内存(主存)和外存(磁盘) 存储器的功能是保存数据,存储器的发展方向是高速、大容量和小体积。 内存在访问速度方面的发展:DRAM、SDRAM、SRAM等; 硬盘技术在大容量方面的发展:接口标准、存储密度等; 主存储器管理技术分为两大类 实存储器管理 虚拟存储器管理 第四章 存储器管理 存储器的物理组织、多级存储器 存储组织是指在存储技术和CPU寻址技术许可的范围内组织合理的存储结构。 其依据是访问速度匹配关系、容量要求和价格。 “寄存器-内存-外存”结构 “寄存器-缓存-内存-外存”结构; 微机中的存储层次组织: 访问速度越慢,容量越大,价格越便宜; 最佳状态应是各层次的存储器都处于均衡的繁忙状态(如:缓存命中率正好使主存读写保持繁忙); 第四章 存储器管理 快速缓存: Data Cache TLB(Translation Lookaside Buffer) 内存:DRAM, SDRAM等; 外存:软盘、硬盘、光盘、磁带等; 第四章 存储器管理 主存储器管理功能 存储分配和回收:分配和回收算法及相应的数据结构。 地址变换和重定位: 可执行文件生成中的链接技术 程序加载(装入)时的重定位技术 进程运行时硬件和软件的地址变换技术和机构 存储共享和保护: 代码和数据共享 地址空间访问权限(读、写、执行) 存储器扩充:存储器的逻辑组织和物理组织; 由应用程序控制:覆盖; 由OS控制:交换(整个进程空间),虚拟存储的请求调入和预调入(部分进程空间) 第四章 存储器管理 程序的装入和链接 连续分配方式 基本分页存储管理 基本分段存储管理 虚拟存储器的基本概念 请求分页存储管理方式 页面置换算法 请求分段存储管理方式 程序的装入和链接 程序的装入 程序的链接 程序的装入 多道程序环境下,程序要运行必须为之创建进程,而创建进程的第一件事就是分配内存 源程序要运行通常经过编译(compile)?链接(link)?装入(load)等几个步骤 程序的装入 绝对装入方式(Absolute Loading Mode) 事先确定了程序将驻留在内存的什么位置,即在内存中的绝对地址 装入模块被装入内存后,由于程序中的逻辑地址与实际内存地址完全相同,故不需对程序和数据的地址进行修改 绝对地址的产生 程序员直接赋予。不仅要求程序员熟悉内存使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。通常在程序中采用符号地址,在编译或汇编时,再将符号地址转换为绝对地址。 编译或汇编时产生 程序的装入 可重定位装入方式(Relocation Loading Mode) 绝对装入方式只能将目标模块装入到内存中事先指定的位置 在多道程序环境下,不可能预知目标模块放在内存中的地址,因此绝对装入方式不适合在多道环境下使用 程序中目标模块的地址通常从0开始,其他地址都是相对于0计算——相对地址 把在装入时对目标程序中指令和数据的地址修改过程称为重定位,又因为地址变换通常是在装入时一次完成的,以后不再改变,故称为静态重定位 程序的装入 程序的装入 程序的装入 动态运行时装入方式(Denamic Run-time Loading) 可重定位方式不允许程序运行时在内存中移动位置 动态运行时的装入程序,是在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对地址 程序的装入和链接 程序的装入 程序的链接 程序的链接 静态链接方式(Static Linking) 在程序运行前,先将各目标模块及所需的库函数链接成一个完整的装配模块,以后不再拆开 在将这几个目标模块装配成一个装入模块时,须解决以下两个问题 对相对地址进行修改 变换外部调用符号 程序的链接 程序的链接 装入时动态链接(Loadtime Dynamic Linking) 将用户的源程序编译后所得的一组目标模块在装入内存时采用边装入边链接的方式 便于修改
文档评论(0)