zoukankan      html  css  js  c++  java
  • 地址空间&地址生成、连续内存分配

    • 地址空间定义

    • 地址生成

    逻辑地址生成

    物理地址的生成

    • 地址安全检查

    • 连续内存分配

    • 内存碎片问题

    内存碎片:空闲内存不能被利用

    外部碎片:分配单元之间的未被使用内存

    内部碎片:分配单元内部的未被使用内存,取决于分配单元大小是否要取整。

    • 分区的动态分配
    1. 第一适配

    原理&实现

    空闲分区列表按地址顺序排列

    分配过程时,搜索一个合适的分区

    释放分区时,检查是否可与临近的空闲分区合并

    优点:

    简单

    在高地址空间有大块的空闲分区

    缺点:

    外部碎片

    分配大块时较慢

     

     

     2. 最佳适配

    原理&实现

    空闲分区列表按照大小排列

    分配过程时,搜索一个合适的分区

    释放分区时,检查是否可与临近的空闲分区合并

    优点:

    大部分分配的尺寸较小,效果很好

      •  可避免大的空闲分区被拆分
      • 可减小外部碎片大小
      • 相对简单

    缺点:

    外部碎片

    释放分区较慢

    容易产生很多无用的小碎片

     

     

             3. 最差适配

    原理&实现

     

    空闲分区列表按照大小排列

     

    分配时,选最大分区

     

    释放时,检查是否可与临近的空闲分区合并,进行可能的合并,并调整空闲分区列表顺序。

     

    优点:

     

    中等大小的分配较多时,效果最好

    避免出现太多的小碎片

     

    缺点:

     

    外部碎片

     

    释放分区较慢

     

    容易破坏大的空闲分区,因此后续难以分配大的分区

    压缩式碎片整理

    交换式碎片整理

  • 相关阅读:
    但是难道我就不能在JBuilder里面看我可爱的中文了吗?[小糊涂的灵感]
    why is j2me midp superior to wap?[小糊涂的灵感]
    NRF51822之GPIOTE介绍
    Unity脚本生命周期
    树状数组学习笔记
    模版—扩展欧几里德
    hdu4339Query
    POJ3273Monthly Expense
    多校第一场
    ZOJJ Watashi's BG3631
  • 原文地址:https://www.cnblogs.com/cjsword/p/12150340.html
Copyright © 2011-2022 走看看