连续内存分配

1.内存碎片问题:
//空闲的碎片空间不能被利用
*外部碎片:未分配的空间,当新进程申请空间时,内存空间不足以分配的空间
*内部碎片:在已经分配的空间里,无法再使用的内存空间
2.分区的动态分配:
//简单的内存管理方法:
*当一个程序准许运行在内存中时,分配一个连续的区间
*分配一个连续的内存区间给运行的程序以访问数据

 //分配策略:
       *首次适配:  
                 -为分配n个字节的数据,分配一个略大于n字节的内存块
                  -需求:
                        1.按地址排序的空闲块列表
                        2.分配需要寻找一个合适的分区
                        3.重新分配需检查,看自由分区是否能合并于相邻的空闲分区(若有)
                  -优劣:
                        1.简单实现,易于产生更大空闲块,向着地址空间的结尾
                        2.容易产生外部碎片
                        3.不确定性
       *最优适配:
           -为分配n个字节的数据,找到最小的适配块
            -为了避免分割大空闲块,以及最小化外部碎片产生的尺寸
            -需求:
                     1.按尺寸排列的空闲块列表
                     2.分配需要寻找一个合适的分区
                     3.重分配需要搜索及合并于相邻的空闲分区
             -优劣:
                     1.当大部分分配是小尺寸时非常有效
                     2.比较简单
                     3.外部碎片
                     4.重分配慢,易产生很多没用的微小碎片(不怎么好) 
       *最差适配:
           -为分配n个字节,使用最大可用空闲块,以致块的尺寸比n大
           -为了避免有太多微小的碎片
           -需求:
                  1.按尺寸排列的空闲块列表
                  2.分配很快(获得最大的分区)
                  3.重分配需要合并于相邻的空闲分区,若有,然后调整空闲块列表
            -优劣:
                 1.加入分配是中等尺寸效果最好
                 2.重分配慢
                 3.外部碎片
                 4.易于破碎大的空闲块以致大分区无法被分配

3.压缩式碎片整理:
-重置程序以合并孔洞(小的空内存)
-要求所有程序是动态可重置的

4.交换式碎片整理:
-运行程序需要更多的内存
-抢占等待的程序,回收它们的内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值