• OS总结(二):连续式内存分布


    1、计算机体系结构及内存分层体系

    1.1 计算机体系结构(CPU,内存,I/O)

    1.2 操作系统在内存管理要完成的目标:抽象(逻辑地址空间),保护(独立地址空间),共享(访问相同内存),虚拟化(更多的地址空间)

    1.3 操作系统实现内存管理目标的手段:程序重定位、分段、分页、虚拟内存、按需分页虚拟内存

    2、地址空间与地址生成

    2.1 地址空间的定义

    • 物理地址空间:硬件支持的地址空间
    • 逻辑地址空间:一个运行的程序所拥有的内存范围

    2.2 逻辑地址生成

    2.3 应用程序的逻辑地址是如何映射到物理地址

      2.3.1 CPU方面

        a. 运算器ALU需要在逻辑地址的内存内容(CPU要逻辑地址)

        b. 内存管理单元MMU寻找在逻辑地址和物理地址之间的映射(然后MMU找逻辑和物理地址的关系)

        c. 控制器从总线发送在物理地址的内存内容的请求(关系找到后,去找对应物理地址)

      2.3.2 内存方面:内存发送物理地址内存内容给CPU(物理地址找到了,给CPU)

      2.3.3 操作系统方面:建立逻辑地址和物理地址之间的映射(确保程序不相互干扰)

      

    2.4 地址安全检查

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

    3.1 内存碎片问题(空闲内存不能被利用)

    • 外部碎片:在分配单元间的未使用内存
    • 内部碎片:再分配单元中的未使用内存

    3.2 简单的内存管理方法

    • 当一个程序准许运行在内存中时,分配一个连续的区间
    • 分配一个连续的内存区间给运行的程序以访问数据

    3.3 分区的动态分配策略

      3.3.1 首次适配

        内容:现在项分配n字节,从低地址开始找,碰到的第一个空间比n大的空闲块就使用它

        

        首次分配所满足的条件:

          a. 需要存在一个按地址排序的空闲块列表

          b. 分配需要找一个合适的分区

          c. 重分配需要检查,看看自用分区能不能与相邻的空闲分区合并(形成更大的空闲块)

        优点:简单;易于产生更大的空闲块,向着地址空间的结尾

        缺点:外部碎片的问题会加剧;不确定性

      3.3.2 最佳适配

        内容:为了分配n字节,使用最小的可用空闲块,以致块的尺寸比n大

        

        目的:避免分割大的空闲块;最小化外部碎片产生的尺寸

        最佳分配所满足的条件:

          a. 按尺寸排列的空闲列表

          b. 分配需要寻找一个合适的分区

          c. 重分配需要搜索和合并于相邻的空闲分区(若有)

        优点:大部分分配是小尺寸时很有效;简单

        缺点:外部碎片;重分配慢;易产生很多没用的微小碎片

      3.3.3 最差适配

        内容:为了分配n字节,使用最大的可用空闲块,以致块的尺寸比n大

        

        目的:避免太多的微小碎片

        最差分配所满足的条件:

          a. 按尺寸排列的空闲列表

          b. 分配很快(获得最大的分区)

          c. 重分配需要合并于相邻的空闲分区(若有),然后调整空闲块列表

        优点:假如分配时是中等尺寸效果最好

        缺点:重分配慢;外部碎片;易于破碎大的空闲块以至大分区不能被分割

    4、连续内存分配:压缩式与交换式碎片整理

    4.1 压缩式碎片整理(紧致)

    • 重置程序以合并孔洞
    • 要求所用程序是动态可重置的
    • 问题:何时重置;开销

    4.2 交换式碎片整理

    • 运行程序需要更多的内存
    • 抢占等待的程序或回收它们的内存(把暂时不用的内容挪到磁盘里)

     

  • 相关阅读:
    【Python】霍兰德人格分析雷达图
    【无线电】摩尔斯电码的快速记忆法
    行业观察(四)| 商超企业降本增效的数据赋能之路
    奇点云三角肌「秀肌肉」,端化目标检测模型再获突破
    奇点云数据中台技术汇(五)| CDP,线下零售顾客运营中台
    业务、数据和组织:阿里巴巴的中台不只是技术战略
    奇点云数据中台技术汇(四)| DataSimba系列之流式计算
    奇点云数据中台技术汇(三)| DataSimba系列之计算引擎篇
    行业观察(三)| 服装零售企业数字化升级要做到「心中有数」
    行在说 | 云+端的整体技术架构才符合企业中台战略需要
  • 原文地址:https://www.cnblogs.com/horacle/p/14350384.html
Copyright © 2020-2023  润新知