《数据结构》 第八章动态存储管理
《数据结构》 第八章 动态存储管理
内容和要求 第八章动态存储管理 内容和要求 可利用空间表、边界标识法、伙伴系统和无用 单元收集。 要求掌握可利用空间表及分配办法 可利用空间表及分配方法 边界标识法 伙伴系统 无用单元收集 存储紧缩 一重点 可利用空间表及分配 第2页
第八章 动态存储管理 第2页 可利用空间表及分配方法 边界标识法 伙伴系统 无用单元收集 存储紧缩 内容和要求 可利用空间表、边界标识法、伙伴系统和无用 单元收集。 要求掌握可利用空间表及分配办法。 重点 可利用空间表及分配。 内容和要求
动态存储管理的基本问题及方法 第八章动态存储管理 存储管理是一个既复杂而又重要的问题。在后续课 程——操作系统和编译技术(或方法、原理)中,将对 其作较深入的研究。在数据库技术中,也涉及大量有关 存储管理的问题。本章仅就动态存储管理方面一些基本 技术进行讨论 在以往的算法描述中,有关存储分配请求、存储回 收等项工作往往一带而过,好比是存储“自动满足”又 “自动回收”。偶尔亦考虑某一数据结构下判断是否溢 出或者是否释放内存空间等问题。这是必要的,主要是 为了把当时的重点和核心放在研究数据的逻辑特性、物 理表示、算法描述与分析上,而对有关存储管理的问题 作了一定的简化 第3页
第八章 动态存储管理 第3页 动态存储管理的基本问题及方法 存储管理是一个既复杂而又重要的问题。在后续课 程——操作系统和编译技术(或方法、原理)中,将对 其作较深入的研究。在数据库技术中,也涉及大量有关 存储管理的问题。本章仅就动态存储管理方面一些基本 技术进行讨论。 在以往的算法描述中,有关存储分配请求、存储回 收等项工作往往一带而过,好比是存储“自动满足”又 “自动回收”。偶尔亦考虑某一数据结构下判断是否溢 出或者是否释放内存空间等问题。这是必要的,主要是 为了把当时的重点和核心放在研究数据的逻辑特性、物 理表示、算法描述与分析上,而对有关存储管理的问题 作了一定的简化
动态存储管理的基本问题及方法 第八章动态存储管理 动态存储管理的基本问题 (1)如何按用户提出的“请示”分配内存? (2)如何回收那些用户不再使用而“释放”的内 存,以备新的“请示”产生时重新进行分配? 存储管理问题的解决途径 (1)由用户来解决 2)由系统来解决; (3)由系统和用户共同解决 第4页
第八章 动态存储管理 第4页 动态存储管理的基本问题 (1) 如何按用户提出的“请示”分配内存? (2) 如何回收那些用户不再使用而“释放”的内 存,以备新的“请示”产生时重新进行分配? (1) 由用户来解决; (2) 由系统来解决; (3) 由系统和用户共同解决。 存储管理问题的解决途径 动态存储管理的基本问题及方法
动态存储管理的基本问题及方法 第八章动态存储管理 在计算机系统中,存储管理的分级 )操作系统为进程分配所需要的存储空间,以便能在机器 上运行。一旦运行结束从系统撤离时,操作系统就回收进程所使 用的空间。此类存储管理问题将在《操作系统》课程中过论 (②)进程对数据结构分配及回收存储空间,例如编译进程为 变量、数组以及各种表格分配、回收空间。出类在值管理问题将 在编译方法》课程中过论。 (3)数据结构中,某结构中的元素或子结构分配、回收在 猪空。此类存值管理问题将是《数据结构》课程研宄的范 下面仅限于在数据结构一级上研究存储管理的方法。但其基 本思想和方法亦完全适用于其他两个级别。 第5页
第八章 动态存储管理 第5页 在计算机系统中,存储管理的分级 (1) 操作系统为进程分配所需要的存储空间,以便能在机器 上运行。一旦运行结束从系统撤离时,操作系统就回收进程所使 用的空间。此类存储管理问题将在《操作系统》课程中讨论。 动态存储管理的基本问题及方法 (2) 进程对数据结构分配及回收存储空间,例如编译进程为 变量、数组以及各种表格分配、回收空间。此类存储管理问题将 在《编译方法》课程中讨论。 (3) 数据结构中,对某结构中的元素或子结构分配、回收存 储空间。此类存储管理问题将是《数据结构》课程研究的范畴 。 下面仅限于在数据结构一级上研究存储管理的方法。但其基 本思想和方法亦完全适用于其他两个级别