内存空间分配与回收
1.连续分配管理方式
1.1单一连续分配
-
内存分为系统区和用户区,只能有一道用户程序。
-
实现简单但是任意产生碎片
1.2固定分区分配
-
将用户空间划分未若干个固定大小的分区,在每个分区只装入一道作业。
-
最早最简单的可运行多道程序的内存管理方式。
-
可分为分区大小相等或者不等
-
无外部碎片,会产生内部碎片,内存利用率低
1.3动态分区分配
根据进程大小动态地建立分区
1)数据结构
-
空闲分区表
-
空闲分区链
2)动态分区分配算法
-
首次适应算法:将空闲分区以地址递增的顺序排列,每次从低地址开始顺序查找。
-
最佳适应算法:优先使用更小的空闲分区。将内存分区按容量递增次序链接。
-
最坏适应算法:优先使用最大的空闲区。将空闲分区按容量递减次序链接。
-
邻近适应算法:将空闲分区以地址递增的顺序排列,每次分配内存时从上次查找的结束位置开始查找空闲分区链。
3)回收
把相邻的内存空闲分区合并