为什么有人会使用最适合的内存分配?

bob*_*uba 4 memory-management

我正在阅读Andrew Tanenbaum的现代操作系统,他写道,最佳拟合是一种广泛使用的内存分配算法.他还写道,它比第一次适合/下一次适合要慢,因为它必须搜索整个分配的内存列表.并且它往往会浪费更多的内存,因为它在内存中留下了许多小的无用空白.

为什么它被广泛使用?这是一个我忽略的明显优势吗?

chi*_*ill 6

首先,这是不是广泛使用(像所有的连续配合),除非,也许,在家庭作业).在我看来,广泛使用的策略是隔离拟合(它可以非常接近最佳拟合).

其次,可以通过使用各种大小的免费列表树来实现最佳拟合策略

第三,它被认为是关于内存碎片的最佳策略之一

看到

动态存储分配:调查和严格审查

内存碎片问题:解决了吗?

有关内存管理的信息,而不是Tannenbaum.


wrr*_*ren 1

我认为说它比第一次适应浪费更多的内存是一种错误的描述。与首次适应相比,最佳适应可最大化可用空间,特别是在节省可用于大型分配的空间时。这篇博文给出了一个很好的例子。