RTOS进程管理
在rt_free()时会把used设置成未使用,下次申请内存时会先遍历到没使用的内存块,然后判断申请的内存是否小于分配好的未使用的内存块。若大于则继续遍历,若没有找到合适大小的内存堆,则在最后未分配的内存堆中分配该大小的内存。初始时,它是一块大的内存。当需要分配内存块时,将从这个大的内存块上分割出相匹配的内存块,然后把分割出来的空闲内存块还回给堆管理系统中。在rt_free()的最后有个plug_hoes()其作用就是检查释放内存的前面一个内存块和后面一个内存块。若未使用则将其合并,生成一个新的内存块。
复制链接