码迷,mamicode.com
首页 > 其他好文 > 详细

连续内存分配:内存碎片与分区的动态分配

时间:2020-06-24 19:40:29      阅读:42      评论:0      收藏:0      [点我收藏+]

标签:分区   获得   空闲   排序   部分   优势   空间   检查   无法   

连续内存分配:内存碎片与分区的动态分配

  • 连续内存分配
    • 内存碎片问题
      • 第一适配
      • 最佳适配
      • 最差适配
    • 压缩式碎片整理
    • 交换式碎片整理

内部碎片问题

  • 外部碎片

    在分配单元间的未使用内存

  • 内部碎片

    在分配单元中的未使用碎片

第一适配

按地址排序空闲块列表

按顺序找到合适的分区

重分配检查能否合并分区

  • 优势
    • 简单
    • 易于产生更大空闲块,向着地址空间的结尾
  • 劣势
    • 外部碎片
    • 不确定性

最佳适配

按尺寸排列空闲块列表

找到合适的分区

重分配,及合并检查

  • 优势
    • 当大部分分配是小尺寸时非常有效
    • 比较简单
  • 劣势
    • 外部碎片
    • 重分配慢
    • 易产生很多没用的小碎片

最差适配

按尺寸排列空闲块列表

分配很快(获得最大分区)

重分配合并

  • 优势
    • 加入分配是中等尺寸效果最好
  • 劣势
    • 重分配慢
    • 外部碎片
    • 易于破碎大的空闲块以致大分区无法分配

连续内存分配:内存碎片与分区的动态分配

标签:分区   获得   空闲   排序   部分   优势   空间   检查   无法   

原文地址:https://www.cnblogs.com/deusjin/p/13189214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!