ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-07-17 12:00:19  阅读:124  来源: 互联网

标签:fit 分区 算法 满足要求 顺序搜索 分配 空闲


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

实现动态分区分配,通常是将系统中的空闲分区链接成一个链。顺序搜索是指依次搜索空闲分区链上的空闲分区,去寻找一个其大小能满足要求的分区,适用于不太大的系统。

  • 首次适应(first fit,FF)算法:从链首开始顺序查找,直至找到一个大小能满足要求的空闲分区为之。再按照作业大小,从该分区中划出一块内存空间,分配给请求者,余下的空闲分区仍留在空闲链中。

    • 优点:优先利用内存中低址部分的空间,保留了高址部分的大空闲区,为以后达到的大作业分配大的内存空间创造了条件。
    • 缺点:低址部分不断被划分,会留下许多难以利用的、很小的空闲分区,称为碎片。每次查找都是从低址部分开始,碎片越多,开销越大。
  • 循环首次适应(next fit,NF)算法:较之FF算法,NF不是每次都从链首开始查找,而是从上一次找到的空闲分区的下一个空闲分区开始查找,直至找到一个满足要求的空闲分区,如果寻到链尾,链尾空闲分区的大小仍不能满足要求,则应返回第一个空闲分区。实现该算法,应设置一起始查询指针,用于指示下一次起始查询的空闲分区。

    • 优点:使内存中的空闲分区分布得更均匀,从而减少查找空闲分区时的开销。
    • 缺点:缺乏大的空闲分区。
  • 最佳适应(best fit,BF)算法:最佳是指每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。该算法要求将所有的空闲分区按其容量以从小到大的顺序形成一空闲分区链。

    • 缺点:每次分配后所切割下来的剩余部分总是最小的,会留下许多难以利用的碎片。
  • 最坏适应(worst fit,WF)算法:WF算法于BF算法正好相反,它在扫描整个空闲分区表或链表时,总是挑选一个最大的空闲区。该算法要求将所有空闲分区,按其容量以从大到小的顺序形成一空闲分区链。

    • 优点:划分后,剩下的空闲区不至于太小,产生碎片的可能性最小。查找效率很高,只要看第一个分区能否满足作业要求即可。
    • 缺点:存储器中缺乏大的空闲分区

标签:fit,分区,算法,满足要求,顺序搜索,分配,空闲
来源: https://www.cnblogs.com/turtledove558/p/16486228.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有