内存回收的第一种情况

来源:6-9 存储管理之内存分配与回收

别喷了我很菜

2021-06-29

老师您好, 请问一下

  1. 在视频的 11:10 处的ppt中, 您写到当第一种情况的内存回收发生时 “只需要将空闲区1的容量变成空闲区即可".
    我有点不太明白是什么意思. 我是否能理解为: 针对这第一种的内存回收情况, 将 空闲区1 的容量变为:
    ( 新空闲区1 = 旧空闲区1 + 回收区 )
  2. 为什么会有第4种情况的出现? 这种情况下的回收区的上下区分别是什么? 内存分配完不是应该只存在内存被占用(或等待回收)和内存空闲两种情况吗
写回答

1回答

咚咚呛

2021-07-04

  1.  这里讨论的是维护空闲区所需的维护成本,我们使用链表的方式来维护空闲区,那么由于第一种情况下,空闲区和回收区是连续的,所以在维护的链表上,我们不需要新建一个链表节点来维护新回收的空间,因此只需要将原有的维护空闲区1的链表节点空间增大即可。

  2. 第四种情况指的是回收区上下区都是非空闲区,这种情况下就不涉及回收区与空闲区的合并,所以只需要为回收区创建新的空闲节点插入到空闲链表。

希望对你有所帮助哦。

0
1
别喷了我很菜
理解了!谢谢老师
2021-07-05
共1条回复

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程