数据结构与算法分析9.ppt_第1页
数据结构与算法分析9.ppt_第2页
数据结构与算法分析9.ppt_第3页
数据结构与算法分析9.ppt_第4页
数据结构与算法分析9.ppt_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章 动态存储管理,9.1 概述 9.2 内存分配与回收策略 9.3 可利用空间的分配方法,9.1 概述,在介绍的三种数据结构-线性结构、层次结构和网状结构中,使用高级语言描述了它们的内存映象但并没有涉及具体的存储分配 实际上结构中的每个数据元素都占有一定的内存位置,在程序的执行过程中,数据元素的存取是通过对应的存储单元来进行的 当计算机是被单个用户使用时,那么整个内存除操作系统占用一部分之外,都归这个用户的程序使用(如PDP11/01的内存为32K字,系统占用4K,用户程序可用28K)。但在多用户分时并发系统中,多个用户程序共享一个内存区域,此时每个用户程序使用的内存就由操作系统来进行分配

2、了。并且,在总的内存不够使用时,还可采用自动覆盖技术。,9.1 概述,动态存储管理的基本问题是系统如何应用户提出的“请求”分配内存 如何回收那些用户不再使用而“释放”的内存,以备新的“请求”产生时重新进行分配 在下面的讨论中,将统称已分配给用户使用的地址连续的内存区为“占用块”,称未曾分配的地址连续的内存区为“可利用空间块”或“空闲块” 在系统运行的初期,整个内存区基本上分隔成两大部分:低地址区包含若干占用块;高地址区(即分配后的剩余部分)是一个“空闲块”。,9.2 内存分配与回收策略,内存的分配与回收是内存管理的主要功能之一 为了有效合理地利用内存,设计内存的分配和回收方法时,必须考虑和确定

3、以下几种策略和数据结构 (1)分配结构 (2)放置策略 (3)交换策略 (4)调入策略 (5)回收策略,9.3 可利用空间的分配方法,根据系统运行的不同情况,可利用空间表可以有下列三种不同的结构形式: 第一种情况是系统运行期间所有用户请求分配的存储量大小相同。 第二种情况,系统运行期间用户请求分配的存储量有若干种大小的规格。 第三种情况,系统在运行期间分配给用户的内存块的大小不固定,可以随请求而变。 通常采用三种不同的分配策略。 (1)首次拟合法 (2)最佳拟合法 (3)最差拟合法,9.3 可利用空间的分配方法,存储紧缩 具体方法是:在整个动态存储管理过程中,不管哪个时刻,可利用空间都是一个连

4、续的存储区,在编译过程中称为“堆”,每次分配都是从这个可利用空间中划出一块,释放(回收)时,必须将回收的空闲块合并到整个堆中,才能够重新使用,也就是存储紧缩。 堆的实现方法:设立一个指针,称为堆指针,始终指向堆的最低(或最高)地址。当用户申请N个存储块时,堆指针向高地址(或低地址)移动N个存储单位,移动之前的指针即使分配给用户的占用块的初始地址。,9.3 可利用空间的分配方法,因为可利用空间是连续的,所以利用堆指针实现地址分配非常方便,但是回收用户释放的空间就比较麻烦。一般有两种方法: (1)一旦有用户释放存储块即进行回收紧缩; (2)在程序执行过程中不回收用户随时释放的存储块,直到可利用空间不够分配或堆指针指向最高地址时才进行存储紧缩。 为实现存储紧缩,首先要对占用块进行“标志”,标志方法和上节类同(存储块的结构可能不同);其次需进行下列

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论