OpenDSA 完整目录

Chapter 15 Memory Management

| 关于   «  6. 最佳适配内存管理器   ::   目录   ::   8. 顺序适配方法的性能  »

7. 最差适配内存管理器

7.1. 最差适配

与最佳适配相反的策略也可能有道理,因为它倾向于把外部碎片的 影响降到最低。 这称为 最差适配, 它总是分配列表上最大的块,希望该块的剩余部分将来还能用于 服务其他请求。 在我们的例子中,最差适配是大小为 45 的块,留下大小为 15 的 余量。 如果存在少数异常大的请求,这种策略服务它们的机会较小。 如果请求的大小总体上差不多,那么这可能是有效的策略。 与最佳适配一样,最差适配在每次内存请求时都要搜索整个 freelist 来找最大的块。 或者,可以把 freelist 按空闲块从大到小排序, 比如用优先队列实现。

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

   «  6. 最佳适配内存管理器   ::   目录   ::   8. 顺序适配方法的性能  »

关闭窗口