文档详情

操作系统第三章课件.ppt

发布:2019-04-13约1.64万字共77页下载文档
文本预览下载声明
本章需掌握的知识要点 内存管理任务 三种内存管理方式 两类算法(内存分配、页面置换) 三组区别 2. 存储管理的目的 充分利用内存,为多道程序并发执行提供存储基础 尽可能方便用户使用 自动装入用户程序 用户程序中不必考虑硬件细节 能够解决小内存运行大程序的问题 支持程序在执行时可以动态伸缩 保证内存存取速度快 实现存储保护与安全 实现共享与通信 了解有关资源的使用状况 权衡实现的性能和代价 3. 存储管理的任务或功能 (1)内存空间的管理、分配与回收 记录内存的使用情况 ——设置相应的内存分块表(内存分配回收的依据) 内存空间划分问题?——静态或动态,等长或不等长 确定分配算法——考虑连续性与离散性,驻留性与交换性,一次性与多次性,静态方式与动态方式 内存碎片问题及解决办法 确定回收策略 (2)地址转换(又称地址重定位、地址映射) 指为了保证CPU执行指令时可正确访问存储单元,需将用户程序中的逻辑地址(相对地址,虚地址)转换为运行时由机器直接寻址的物理地址(绝对地址,实地址)的过程 3. 存储管理的任务(续) 根据实施转换的主体和转换时机的不同,重定位具体分为两种:静态重定位和动态重定位。后者更常用 系统采用动态重定位后,程序在内存可浮动 (3)内存的共享与保护 进程共用相同内存区可节省空间,便于通信,所共享的代码应为纯代码(或者叫可重入的代码) 内存保护限定程序只能访问自己所在的内存区,保护了OS和其他程序——常用界限寄存器对法和存取控制字来实现 (4)内存的扩充 常用覆盖、交换和虚拟存储技术等实现对内存的逻辑扩充,以使小内存能够运行大程序 覆盖示意图 主程序(30k) 程序的装入和链接 源程序从编辑到运行要经历以下阶段: 编辑? 编译 ?链接 ?装入 ?运行 静态链接、动态链接 绝对地址装入、静态重定位装入、动态重定位装入 存储管理策略分类 存储管理策略: 实存管理 连续区分配(包括固定分区、可变分区和伙伴系统) 分页(Paging ) 分段(Segmentation ) 虚存管理 请求分页(Demand paging)-- 主流技术 请求分段(Demand segmentation) 段页式( segmentation with paging ) 3.2 分区式存储管理 ——早期的一类实存管理技术 系统给每个作业或进程分配一个连续的内存分区。 单一连续区分配(静态分区技术) 固定分区分配(静态分区技术) 可变分区分配(动态分区技术) 可重定位可变分区分配(动态分区技术) 伙伴系统(动态分区技术) 1. 单一连续区存储管理 系统静态地将内存划分为两个区域,一个供操作系统使用,一个供用户使用,且每次只能装入一个作业或进程,主要用于早期单道程序系统和后来的PC操作系统。特点是实现简单,但内存利用率低,作业大小受限。 3. 可变分区存储管理 基本思想 内存划分是在作业或进程进入时动态进行的,分区的个数与大小都不是固定的 作业装入时,根据作业的需求和内存空间的使用情况来决定是否分配 若有足够的空间,则把分配算法选中的那个分区直接分配给该作业,或者从那个选中的分区中割下与该作业申请量等大小的一部分连续空间分给该作业;否则令其等待。 特点 克服了固定分区管理的“内碎片”问题,但产生了“外碎片”。 4. 可重定位可变分区存储管理 基本思想 相当于引入了动态重定位和内存紧凑(紧缩、拼接、紧致、浮动、搬家)(compaction)技术的可变分区存储管理 问题 实现紧凑所花的代价与换来的提高了内存空间利用率的好处相比是否值? 内存紧凑的开销、频率、条件、时机?一经紧凑,外碎片是否彻底消失? 特点 消除了内碎片,提高了内存利用率,便于动态申请内存, 便于共享内存,便于动态链接,但会产生外碎片,而紧凑内存需要花费处理机大量时间,另外,还需要硬件重定位机构支持,作业大小也受内存可用空间的限制。 可重定位可变分区存储管理(续1) 内存管理用主要数据结构 空闲分区链(或空闲分区表) 内存分配算法(顺序查找分配,可能触发紧凑程序) 最先适应(First Fit) 下次适应(Next Fit) 最佳适应(Best Fit) 最坏适应(Worst Fit) 内存释放/回收算法(考虑及时合并相邻空闲区) 先在空闲分区链中找到插入点,再考虑能否合并相邻空闲区 例3.1 分区存储管理算法题 采用可变分区方式管理内存时,若内存中按地址顺序依次有五个大小依次为15k、28k、10k、226k和110k的空闲区。现有五个作业Ja、Jb、Jc、Jd和Je,它们各需
显示全部
相似文档