数据结构随笔—动态存储管理

本文探讨了动态存储管理的基本问题,包括内存分配、回收和组织。介绍了首次拟合法、最佳拟合法和最差拟合法三种分配策略,以及边界标识法的分配和回收算法。此外,还涉及了伙伴系统、无用单元收集和存储紧缩等概念,旨在优化内存利用率和提高分配效率。
摘要由CSDN通过智能技术生成

动态存储管理的基本问题是如何应用户请求分配内存,如何回收那些用户不在使用而释放的内存。

经过一段时间的运行,有些用户运行结束,它所占用的内存区变成空闲块,只就使整个内存区呈现出占用快和空闲块交错的状态,假如此时又有新的用户进入系统请求分配内存,这时通常有两种做法:

(1)、继续从高地址的空闲块中进行分配,直到分配无法进行,系统才去回收所有用户不再使用的空闲块,并且重新组织内存,将所有空闲的内存块连接在一起成为一个大的空闲块。

(2)、用户一旦运行结束,便将它所占用的内存块释放成空闲块。当有新用户请求分配内存时,系统巡视整个内存区中所有的内存块,并从中找出一个合适的空闲块分配。

可利用空间表及分配方法

可利用空间表有下列3种不同的结构形式:

(1)、系统运行期间所有用户请求分配的存储量的大小相同;每个内存块的大小相同。

(2)、系统运行期间用户请求分配的存储量有若干种大小的规格;建立若干个可利用空间表,同一链表中的结点大小相同。并增加一个标志位tag,表示是空闲还是占用。当请求的内存块过大时,执行存储紧缩操作。

(3)、系统在运行期间分配给用户的内存块大小不固定,可以随请求而变化。所以可利用的空间表只有一个大小为整个内存区的结点。

分配策略:

(1)首次拟合法:从表头指针开始查找可利用空间表,将找到的第一个大小不小于n的空闲块的一部分分配给用户。

(2)最佳拟合法&#

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值