内存管理(1)--动态分区分配策略

来源:互联网 发布:nat123访问数据库很慢 编辑:程序博客网 时间:2024/06/07 10:20
1、最先匹配:分配n个字节,使用第一个可用空间比n大的空闲区
原理:空闲分区列表按照地址顺序排序; 分配过程中,搜索第一个适合的分区; 释放分区时,检查是否可与临近的空闲分区合并,
优点:简单; 在高地址空间有大块的空闲分区
缺点:外部碎片;分配大块使较慢
2、 最佳匹配:分配n个字节时,查找并使用不小于n的最小空闲分区
原理:空闲分区列表按照大小排序; 分配时,查找一个合适的分区; 释放时,查找并且合并临近的空闲分区;
优点:避免大的空闲分区被拆分;可减小外部碎片的大小;
缺点:外部碎片; 释放分区较慢; 容易产生很多无用的小碎片
3、最差匹配;分配n个字节时,查找并使用不小于n的最大空闲分区
原理:空闲分区列表按照从大到小排序; 分配时,选最大的分区; 释放时,检查是否可与临近的空闲分区合并,进行可能的合并,并调整空闲分区列表顺序;
优点:中等大小的分配较多时,分配效果最好; 避免出现太多的小碎片;
缺点:释放分区较慢; 外部碎片; 容易破坏大的空闲分区,因此后续难以分到大的分区
原创粉丝点击