c - 在 malloc 实现中维护空闲列表

标签 c list malloc heap-memory free

我正在尝试为我的操作系统类实现 malloc,我想知道维护空闲内存块的双向链表相对于单链表的优势。

最佳答案

如果您在 malloc() 中将一大块内存分成较小的内存块,那么当您使用 free() 返回这些 block 时,您必须将每个返回的 block 与其 2 个相邻 block 连接起来。在这种情况下,双向链表是最容易处理的。

关于c - 在 malloc 实现中维护空闲列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7764057/

相关文章:

c - 全局描述符表的物理地址?

Python根据定界符 reshape 字符串列表

list - 比较 Racket 中的两个列表

python - 使用 list() 复制同一列表的字典键是否会产生彼此的引用?

c++ - 当 malloc()-ing 相同的结构时,如何在结构中使用 C++ 字符串?

c - 哪种调用约定用于通过 .def 文件导出的函数?

c - 通过 Shaker 排序对数组的主对角线进行排序

c - memset 无法正常工作

c - C 中字符串数组的动态分配

c - 指向结构中 char 的灵活指针数组