1 free list(空闲链表)
空闲列表是一种在动态内存分配方案中使用的数据结构。它的操作方式是将未分配的内存区域连接到一个链表中,使用每个未分配区域的第一个字节作为指向下一个区域的指针。它是一个最简单的内存池,其中所有对象都具有相同的大小。
空闲列表使分配和回收操作非常简单,要释放一个区域,只需将其链接到空闲列表。要分配一个区域,只需从空闲列表的末尾删除一个区域并使用它。如果区域的大小是可变的,则可能需要搜索一个足够大的区域,这个操作可能性能消耗比较多。
空闲列表简单的说就是链表,其缺点是引用的局部性较差,因此数据缓存利用率较低,而且与伙伴分配系统不同,它们不能自动合并相邻区域来满足大区域的分配请求。尽管如此,它们在各种简单的应用程序中仍然很有用,在这些应用程序中,完全成熟的内存分配器是不必要的,或者需要过多的开销。
https://en.wikipedia.org/wiki/Free_listhttps://en.wikipedia.org/wiki/Free_list