- 1、本文档共78页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统 5存储管理-1(共10学时)
第5章 存储管理 5.1 存储管理的基本概念 5.2 单一连续区存储管理 5.3 分区存储管理 5.4 覆盖和交换技术 5.5 页式和段式存储管理 5.6 虚拟存储器 5.1 存储管理的基本概念 5.1.1 存储组织 5.1.2 存储管理的功能 5.1.3 重定位 5.1.1 存储组织 1、存储器的功能是保存数据,存储器的发展方向是高 速、大容量和小体积。 内存在访问速度方面的发展:DRAM、SDRAM、SRAM等; 硬盘技术在大容量方面的发展:接口标准、存储密度等; 2、存储组织是指在存储技术和CPU寻址技术许可的范围内组织合理的存储结构。 其依据是访问速度匹配关系、容量要求和价格。 “寄存器-内存-外存”结构 “寄存器-缓存-内存-外存”结构 3、微机中的存储层次组织: 访问速度越慢,容量越大,价格越便宜; 二、存储层次结构 快速缓存: Data Cache TLB(Translation Lookaside Buffer) 内存:DRAM, SDRAM等; 外存:软盘、硬盘、光盘、磁带等; 5.1.2 存储管理的功能 存储分配和回收:分配和回收算法及相应的数据结构 地址变换 可执行文件生成中的链接技术 程序加载(装入)时的重定位技术 进程运行时硬件和软件的地址变换技术和机构 存储共享和保护 各道作业只在自巳所属区域中运行,不破坏别的作业以及不被破坏 代码和数据共享 地址空间访问权限(读、写、执行) 存储器扩充:使用虚存或自动覆盖技术提供比实际内存更大的空间 5.1.3 重定位 1、重定位:在可执行文件装入时需要解决可执行文件 中地址(指令和数据)和内存地址的对应。由操作系统 中的装入程序loader来完成。 2、程序在成为进程前的准备工作 编辑:形成源文件(符号地址) 编译:形成目标模块(模块内符号地址解析) 链接:由多个目标模块或程序库生成可执行文件(模块间符号地址解析) 装入:构造PCB,形成进程(使用物理地址) 二、相关概念 1、逻辑地址(相对地址,虚地址):用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式。 其首地址为0,其余指令的地址都相对于首地址来编址。 不能用逻辑地址在内存中读取信息。 2、物理地址(绝对地址,实地址):内存中存储单元的地址,物理地址可直接寻址。 3、地址映射:将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。 当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致,而CPU执行指令时,是按物理地址进行的,所以要进行地址转换。 1、静态地址重定位 优点:不需硬件支持,可以装入有限多道程序(如MS DOS中的TSR)。 缺点:一个程序通常需要占用连续的内存空间,程序装入内存后不能移动。不易实现共享。 2、动态地址重定位 (3)优点 OS可以将一个程序分散存放于不连续的内存空间,可以移动程序,有利用实现共享。 能够支持程序执行中产生的地址引用,如指针变量(而不仅是生成可执行文件时的地址引用)。 (4)缺点 需要硬件支持(通常是CPU),OS实现较复杂。 它是虚拟存储的基础。 5.2 单一连续区存储管理 内存分为两个区域:系统区,用户区。应用程序装入到用户区,可使用用户区全部空间。 最简单,适用于单用户、单任务的OS;单用户系统在一段时间内,只有一个进程在内存。 优点:易于管理,便于用户的了解和使用。 缺点: 对要求内存空间少的程序,造成内存浪费;程序全部装入。 很少使用的程序部分也占用内存。内存分配管理十分简单,内存利用率低。 限制了用户程序和系统程序的可重入性,内存中的程序和数据是不可共享的。 未对内存采用保护措施,使CPU在实模式下运行。 5.3 分区存储管理 5.3.1 原理 5.3.2 固定分区(fixed partitioning) 5.3.3 动态分区(dynamic partitioning) 5.3.4 分区分配算法 5.3.1 原理 一、实现原理 把内存分为一些大小相等或不等的分区,每个应用 进程占用一个或几个分区。操作系统占用其中一个分区。 二、特点 适用于多道程序系统和分时系统 支持多个程序并发执行 难以进行内存分区的共享。 三、存在的问题 可能存在内碎片和外碎片。 内碎片:占用分区之内未被利用的空间 外碎片:占用分区之间难以利用的空闲分区(通常是小空闲分区) 四、分区用的数据结构 分区说明表或分区链表 可以只记录空闲分区,也可以同时记录空闲和占用分区 分区表中,表项数目随着内存的分配和释放而动态改变,可以规定最大表项数目。 分区表可以划分为两个表格:空闲分区表,占用分区表。从而减
文档评论(0)