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

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

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

内部碎片问题

  • 外部碎片

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

  • 内部碎片

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

第一适配

按地址排序空闲块列表

按顺序找到合适的分区

重分配检查能否合并分区

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

最佳适配

按尺寸排列空闲块列表

找到合适的分区

重分配,及合并检查

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

最差适配

按尺寸排列空闲块列表

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

重分配合并

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

猜你喜欢

转载自www.cnblogs.com/deusjin/p/13189214.html
今日推荐