首次适应算法还可以改进!

大家好,我是一只学弱狗,记录学习的点点滴滴!

优质文章

  • 一张黄图的故事
  • JavaSE练习项目-坦克大战
  • 我是菜鸟、我小试牛刀
  • linux指令太多记不住?小白看这篇就够了!

优质专栏

  • 数据库就该这样学
  • 爪哇外步篇

基于顺序搜索的动态分区分配算法

  为了实现动态分区分配,通常是将系统中的空闲分区链接成一个链。所谓顺序搜索,是指依次搜索空闲分区链上的空闲分区,去寻找一个其大小能满足要求的分区。基于顺序搜索的动态分区分配算法有如下四种:首次适应算法,循环首次适应算法、最佳适应算法和最坏适应算法。

首次适应算法

  算法思想

  首次适应算法要求空闲分区链以地址递增的次序链接,在分配内存时,从链首开始查找,直到找到一个大小能满足要求的空闲分区为止。

  优点

  优先利用内存中低地址部分的空闲分区,从而保留了高地址部分的大空闲区,为大作业分配大的内存空间创造了条件。

  缺点

  低地址部分不断被划分,会留下许多难以利用的、很小的空闲分区。每次查找都是从低地址部分开始查找,这无疑怎能更加了查找可用空闲分区时的开销

我的想法
  参考循环首次适应算法,设置一个起始寻查指针,以指示下一次起始查寻的空闲分区,每次查找结束时,记录从开始位置到起始寻查指针位置之间的空闲分区的最大容量,当下一次查找时,如所需容量小于所记录的最大容量,则从开始位置开始查找,若所需容量大于所记录的最大容量,则从起始查寻指针的位置开始查找,从而减少了查看可用空闲分区时的开销

首次适应算法还可以改进!

大家好,我是一只学弱狗,记录学习的点点滴滴!

优质文章

  • 一张黄图的故事
  • JavaSE练习项目-坦克大战
  • 我是菜鸟、我小试牛刀
  • linux指令太多记不住?小白看这篇就够了!

优质专栏

  • 数据库就该这样学
  • 爪哇外步篇

基于顺序搜索的动态分区分配算法

  为了实现动态分区分配,通常是将系统中的空闲分区链接成一个链。所谓顺序搜索,是指依次搜索空闲分区链上的空闲分区,去寻找一个其大小能满足要求的分区。基于顺序搜索的动态分区分配算法有如下四种:首次适应算法,循环首次适应算法、最佳适应算法和最坏适应算法。

首次适应算法

  算法思想

  首次适应算法要求空闲分区链以地址递增的次序链接,在分配内存时,从链首开始查找,直到找到一个大小能满足要求的空闲分区为止。

  优点

  优先利用内存中低地址部分的空闲分区,从而保留了高地址部分的大空闲区,为大作业分配大的内存空间创造了条件。

  缺点

  低地址部分不断被划分,会留下许多难以利用的、很小的空闲分区。每次查找都是从低地址部分开始查找,这无疑怎能更加了查找可用空闲分区时的开销

我的想法
  参考循环首次适应算法,设置一个起始寻查指针,以指示下一次起始查寻的空闲分区,每次查找结束时,记录从开始位置到起始寻查指针位置之间的空闲分区的最大容量,当下一次查找时,如所需容量小于所记录的最大容量,则从开始位置开始查找,若所需容量大于所记录的最大容量,则从起始查寻指针的位置开始查找,从而减少了查看可用空闲分区时的开销