CSCD320 算法

第 14 章 内存管理

| 关于   英文版   «  14.6. 最佳适配内存管理器   ::   目录   ::   14.8. 顺序适配方法的性能  »

14.7. 最差适配内存管理器

14.7.1. 最差适配

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

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

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

关闭窗口