知识回顾与重要考点之动态分区分配算法

解决问题:在动态分区分配方式中,当很多个空闲分区都能满足需求时候,应该选择哪个分区进行分配?

【1】首次适应

  • 算法思想:从头到尾找合适的分区;
  • 分区排列顺序:空闲分区以地址递增次序排列;
  • 优点:综合性能最好。算法开销小,回收分区后一般不需要对空闲分区队列重新排序;

【2】最佳适应

  • 算法思想:优先使用更小的分区,以保留更大的分区;
  • 分区排列顺序:空闲分区以容量递增次序排列;
  • 优点:会有更多的大分区呗保留下来,更能满足大进程需求;
  • 缺点:会产生很多太小的、难以利用的碎片;算法开销大,回收分区后可能需要对空闲分区队列重新排序;

【3】最坏适应

  • 算法思想:优先使用更大的分区,以防止产生太小的不可用的碎片;
  • 分区排列顺序:空闲分区以容量递减次序排列;
  • 优点:可以减少难以利用的小碎片
  • 缺点:大分区容易被用完,不利于大进程;算法开销大(回收需要重新排列);

【4】临近适应

  • 算法思想:每次从上次查找结束的位置开始查找;
  • 分区排列顺序:空闲分区以地址递增次序排列(可排列成循环链表);
  • 优点:不用每次从低地址的小分区开始检索,算法开销更小;
  • 缺点:会使得高地址的大分区较先被用完;
posted @ 2020-06-01 09:17  每天都要吃早饭  阅读(1075)  评论(0编辑  收藏  举报