首次适应算法还可以改进!
大家好,我是一只学弱狗,记录学习的点点滴滴!
优质文章
- 一张黄图的故事
- JavaSE练习项目-坦克大战
- 我是菜鸟、我小试牛刀
- linux指令太多记不住?小白看这篇就够了!
优质专栏
- 数据库就该这样学
- 爪哇外步篇
基于顺序搜索的动态分区分配算法
为了实现动态分区分配,通常是将系统中的空闲分区链接成一个链。所谓顺序搜索,是指依次搜索空闲分区链上的空闲分区,去寻找一个其大小能满足要求的分区。基于顺序搜索的动态分区分配算法有如下四种:首次适应算法,循环首次适应算法、最佳适应算法和最坏适应算法。
首次适应算法
算法思想
首次适应算法要求空闲分区链以地址递增的次序链接,在分配内存时,从链首开始查找,直到找到一个大小能满足要求的空闲分区为止。
优点
优先利用内存中低地址部分的空闲分区,从而保留了高地址部分的大空闲区,为大作业分配大的内存空间创造了条件。
缺点
低地址部分不断被划分,会留下许多难以利用的、很小的空闲分区。每次查找都是从低地址部分开始查找,这无疑怎能更加了查找可用空闲分区时的开销。
我的想法
参考循环首次适应算法,设置一个起始寻查指针,以指示下一次起始查寻的空闲分区,每次查找结束时,记录从开始位置到起始寻查指针位置之间的空闲分区的最大容量,当下一次查找时,如所需容量小于所记录的最大容量,则从开始位置开始查找,若所需容量大于所记录的最大容量,则从起始查寻指针的位置开始查找,从而减少了查看可用空闲分区时的开销。
首次适应算法还可以改进!
大家好,我是一只学弱狗,记录学习的点点滴滴!
优质文章
- 一张黄图的故事
- JavaSE练习项目-坦克大战
- 我是菜鸟、我小试牛刀
- linux指令太多记不住?小白看这篇就够了!
优质专栏
- 数据库就该这样学
- 爪哇外步篇
基于顺序搜索的动态分区分配算法
为了实现动态分区分配,通常是将系统中的空闲分区链接成一个链。所谓顺序搜索,是指依次搜索空闲分区链上的空闲分区,去寻找一个其大小能满足要求的分区。基于顺序搜索的动态分区分配算法有如下四种:首次适应算法,循环首次适应算法、最佳适应算法和最坏适应算法。
首次适应算法
算法思想
首次适应算法要求空闲分区链以地址递增的次序链接,在分配内存时,从链首开始查找,直到找到一个大小能满足要求的空闲分区为止。
优点
优先利用内存中低地址部分的空闲分区,从而保留了高地址部分的大空闲区,为大作业分配大的内存空间创造了条件。
缺点
低地址部分不断被划分,会留下许多难以利用的、很小的空闲分区。每次查找都是从低地址部分开始查找,这无疑怎能更加了查找可用空闲分区时的开销。
我的想法
参考循环首次适应算法,设置一个起始寻查指针,以指示下一次起始查寻的空闲分区,每次查找结束时,记录从开始位置到起始寻查指针位置之间的空闲分区的最大容量,当下一次查找时,如所需容量小于所记录的最大容量,则从开始位置开始查找,若所需容量大于所记录的最大容量,则从起始查寻指针的位置开始查找,从而减少了查看可用空闲分区时的开销。
发布评论