本节主要论述运行结果。
请先来图哈。
1 .我们先看看print_all_blocks ()函数
这在debug函数中。 如果要使用此函数,请在定义中将_TLSF_DEBUG设置为1。
void print _ all _ blocks (tlsf _ t * tlsf ) {area_info_t *ai; bhdr_t *next; print _ msg ((ntlsfat % p (nallblocks (n (n ),tlsf ) ); ai=tlsf-area_head; while(AI ) ) next=) bhdr_t* ) (char * ) ai - BHDR_OVERHEAD ); while(next ) print_block ) next; if(next-size BLOCK_SIZE ) ) next=get _ next _ block (next-ptr.buffer,next-sizeblock_size ); else next=空; }ai=ai-next; }其他不明白的地方需要看声明。
voidprint_block(bhdr_t*b ) if (! b )返回; print_msg('[%p] ) ',b ); if(b-size BLOCK_SIZE ) ) print_msg ) (' %Lubytes,',) unsigned long ) (B-sizeblock_size ) ); ELSEprint_msg(Sentinel,); if(B-sizeblock_state )==FREE_BLOCK ) print_msg ) free[%p,%p],',b-ptr.free_ptr.prev,B- ptr if(B-sizeprev_state )==PREV_FREE ) print_msg(prev.free[%p] ) (n ),b-prev_hdr ); else print _ msg (预使用)n ); }
最后,移植成功,代码完成。 实现了动态内存管理算法的改进和实现。
因为我使用的代码是基于时间片的轮换安排的,所以下一部分将分析时间片的轮换情况。
下面附上下载链接地址哦。
TSF算法下载位置:单击以打开链接
基于uc/os时间片轮换调度的源代码: http://download.csdn.net/detail/pushy _ palace/8303581
参考文献:
1.TLSF动态内存分配算法研究与应用:
基于COS-II的TLSF动态内存分配算法应用与仿真;