• 地址空间&地址生成、连续内存分配


    • 地址空间定义

    • 地址生成

    逻辑地址生成

    物理地址的生成

    • 地址安全检查

    • 连续内存分配

    • 内存碎片问题

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

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

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

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

    原理&实现

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

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

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

    优点:

    简单

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

    缺点:

    外部碎片

    分配大块时较慢

     

     

     2. 最佳适配

    原理&实现

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

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

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

    优点:

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

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

    缺点:

    外部碎片

    释放分区较慢

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

     

     

             3. 最差适配

    原理&实现

     

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

     

    分配时,选最大分区

     

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

     

    优点:

     

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

    避免出现太多的小碎片

     

    缺点:

     

    外部碎片

     

    释放分区较慢

     

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

    压缩式碎片整理

    交换式碎片整理

  • 相关阅读:
    IIS的FTP出错: 451 No mapping for the unicode character exists in the target multibyte code page
    silverlight中AES加密RijndaelManaged的使用
    ManualResetEvent详解
    Silverlight如何与JS相互调用
    SQL Server 2008备份策略设计
    mysql 服务无法启动
    Silverlight Resource
    TCP 烟囱卸载
    .net程序 混淆、强签名、加密
    开源客户关系管理系统SplendidCRM下的二次开发
  • 原文地址:https://www.cnblogs.com/cjsword/p/12150340.html
Copyright © 2020-2023  润新知