CSCD320 算法

第 14 章 内存管理

| 关于   英文版   «  14.5. 循环首次适配   ::   目录   ::   14.7. 最差适配内存管理器  »

14.6. 最佳适配内存管理器

14.6.1. 最佳适配

首次适配有一个潜在缺点:它可能把较大的块拆散而"浪费"它们,使它们无法用于日后的大请求。一种避免不必要地使用大块的策略称为 最佳适配。最佳适配查看整个列表,挑选不小于请求的最小块(即与请求最"贴切"的适配)。继续前面的例子,对 30 个单元的请求,最佳适配是大小为 32 的块,留下大小为 2 的余量。最佳适配的缺点是必须搜索整个列表。另一个问题是最佳适配块的剩余部分可能很小,因而对未来的请求毫无用处。换句话说,最佳适配在把无法服务偶发大请求的可能性降到最低的同时,往往使外部碎片问题最大化。

现在请通过下面的练习亲自试一试。

   «  14.5. 循环首次适配   ::   目录   ::   14.7. 最差适配内存管理器  »

关闭窗口