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