- 3
- 0
- 约1.96万字
- 约 13页
- 2021-04-08 发布于湖南
- 举报
嵌入式操作系统内核原理和开发(改进的链表内存分配算法)
之前我自己也写过基于链表的内存分配算法,但是看了 rawos 的内存分配算法,还是感觉
rawos 写的要更好些。 大家都知道, 链表内存分配就是从链表中快速找到最合适的内存块分
配给用户线程。 因为这种分配是随机的, 所以一般来说内存碎片是不可避免的。但是, 我们
在编写代码的时候还是应该注意内存合并的问题。这里我们为什么要介绍 rawos 的内存分
配呢,还包括有这么几个原因,
(1)整个内存链表采用循环链表的方法,使用起来简单可靠;
(2 )内存分配的时候所有节点都是连在一起的,通过标志数据判断当前数据是否已经
分配;
(3 )如果当前没有合适的内存,可以选择等待;
(4 )代码充分考虑了合并和切分的问题;
(5 )在遍历内存的时候灵活处理了中断问题,可以及时响应中断,这个比我考虑得要
周到很多;
(6 )代码注释丰富,只要多读几遍,是可以慢慢理解代码内容的。
整个代码的结构清晰,共四个函数,分别是创建函
原创力文档

文档评论(0)