• 操作系统------讲讲内存管理的历史(1)连续分配内存


            GitMind 脑图:

             内存管理https://gitmind.cn/app/doc/ec110358699
     

    1.连续分配管理方式

            1-1 单一连续分配

                    早期的内存分配 (单用户,单任务)

     

                     在内存中,用户区的进程很少,可能只有一个。

                    

                      优点:1)实现简单 2)无外部碎片,相当于独占内存了。3)不需要内存保护,一个进程一块内存,互不干涉。

                       缺点:1)单用户单任务OS   2)有内部碎片  3)存储器利用率低

               1-2 固定分区分配

          预先将用户区内存分好区了。

                      优点:1)实现简单 2)无外部碎片

                       缺点:1)当用户进程较大时,一个分区无法满足要求,需要采用覆盖技术,降低了性能。    2)有内部碎片  3)存储器利用率低

        1-3 动态内存分配

    根据进程的大小或者说进程请求的内存进行分区。即按需请求内存分配。 

    存在一个分区说明表,对固定分区进行记录。

     

    1)怎么纪录内存的使用情况

    可以空闲分区表来记录内存中空闲的内存分区

    也可以通过双向链表来记录

    2)怎么选择哪个分区给新进程

    4个策略:

    首次适应算法(用的多):从低地址查找合适空间。 

     

    需要先对分区表排个序。

    最佳适应算法:优先使用最小空闲空间

    最坏适应算法:优先使用最大连续空间

    产生大的内部碎片,但是效率高,排序的第一个就是目标。

    临近适应算法(循环首次适应):从上次查找处向后查找。和首次适应算法很像。

    3)已使用的分区怎么回收

     回收后相邻空间要合并;更新空闲分区表或链表。

    离散回收分区

     

     

    连续分区回收

     

     

     

  • 相关阅读:
    FFplay文档解读-39-视频过滤器十四
    windows常用命令
    聊聊httpclient的evict操作
    【Pandas】数据分组groupby
    Visual Studio 2017工程在Visual Studio 2019打开碰到的问题
    报错:axios发送的所有请求都是404
    【JAVA基础】【查漏补缺】01 - 运算符
    spring security 用户认证原理
    如何快速了解一个行业
    PHP 大文件分块上传 底层实现
  • 原文地址:https://blog.csdn.net/weixin_51676493/article/details/126195697