动态分区分配及可重定位分区分配
动态分区分配及可重定位分区分配
分区大小不固定
分区分配的数据结构
二维表格(连续存储结构)
空闲分区表记录空闲分区的大小,位置和状态
已分配区表记录已占用分区的大小,位置和状态
双向循环链表(离散存储结构)
内存分配流程
基于搜索的分区分配算法
首次适应算法FF
按空闲分区的地址递增的次序排队(从头查找)
问题:低地址区多小分区,查找效率低
循环首次适应算法
从上次查找的位置开始查找,其他与首次适应算法FF
最佳适应算法
按照空闲分区的大小升序排列(从头查找)
避免了大材小用
问题:空闲分区链中存在很多暂时不能使用的小的分区——内存碎片过多
最坏适应算法
按照空闲分区的大小降序排列
查找效率高,不易产生内存碎片
动态重定位分区分配流程