是的,我正在学习计算机系统课程。我对实现 malloc 的各种分配方案有一些疑问。对于显式列表,如果我使用类似 LIFO 的堆栈实现 malloc,那么拥有指向先前已释放内存的指针的目的究竟是什么?比如为什么需要双向链表?单链表不是也能正常工作吗?
马洛克讲座。 我在网上找到了这个链接,你可以看一下幻灯片 7,看看我在说什么。
在查看隔离列表分配方案时,这些列表是单向的,对吗?而且,究竟什么是合并机制?例如,如果释放了 4 个单词,您会先尝试在周围有空闲空间时加入它,然后再将其插入到各自的隔离链表中吗?或者您会简单地将 4 字块插入相应隔离链表的“4 字”部分吗?
谢谢你。