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