嵌入式面试题求解:给你一个8M连续内存,如何管理使用

给你一个8M连续内存,如何实现申请和释放,请考虑所有情况,给出最好的实现。

可以参考操作系统原理里面说的分页、分段的方式来使用。不存在最好的实现,要考虑性能和利用率,如果希望利用率大,那么性能必然要影响,反之,如果要高效,就得牺牲一些存储效率。

可以用全局二位字节数组占用掉,然后采用一定的算法管理这些分配掉的内存块,来实现简单的内存分配管理,参考uCOS-II的实现。

双向链表控制 设置最小size

双向链表,做成内存池管理