内存分配之BestFit
2018-04-04 01:41:33 3 举报
内存分配BestFit模拟算法
作者其他创作
大纲/内容
当前块空闲位改为空闲
插入新链表,空闲,起始地址为当前块的起始地址+占用空间,长度为剩余的空闲大小
删除当前块和后一块
否
可分配内存指针非NULL?
只有后一块空闲
当前内存释放队列指针值改为NULL
开始
前一块长度增加当前块长度和后一块长度
前后都空闲
待释放内存的前一块或后一块是否空闲?
当前块(空闲&&大小=需求)?
是
指针指向当前块
从链表头开始寻找内存块可分配内存指针置NULL
结束
指针所指块空闲位改为忙
与当前可分配内存指针(初始指向NULL)指向的块的大小进行比较
删除后一块
前一块长度增加当前块的长度
当前块长度增加后一块长度
下一块
当前有未处理的占用内存请求?
只有前一块空闲
当前块(空闲&&大小==需求)?
当前有未处理的释放内存请求?
内存释放序列指针指向当前块
下一块是否为NULL?
当前块的空闲位改为忙
删除当前块
拒绝分配请求计数器+=1
当前块比前一块更小||指针为NULL?
收藏
收藏
0 条评论
下一页
为你推荐
查看更多