为嵌入式TCP/IP 协议栈设计了一种简洁高效的缓存机制,基于裸机实现,实现变长和定长缓冲区管理,提供动态分配和回收,针对数据源和流向提供PBUF_ROM, PBUF_RAM,PBUF_REF, PBUF_POOL 四种不同的缓冲区实现,提供了对这些缓冲区的操作,并对性能作了简要分析。关键词 TCP/IP 协议栈缓冲区管理,PBUF,嵌入式系统,内存再分配算法TCP/IP 协议分层处理数据,数据要在协议层间流动,存储系统的主要用途是在网络各层接口间传递数据时保存数据。另外,存储系统还需要存放通信双方的源地址、目的地址、源端口和目的端口等信息。基于以上目的,对存储管理能力有如下要求:(1)适合存放不同长度的数据。(2)方便地操作变长缓存。(3)尽量减少为完成这些操作所做的数据拷贝。另外,嵌入式系统中资源有限,传统PC 上的实现对于嵌入式来说过于庞大复杂,需要去掉传统实现中复杂的部分,使得缓存的分配回收简单、可靠,减少内存的使用。LwIP 是一个应用比较广泛的嵌入式TCP/IP 协议栈。LwIP 协议栈参考目前使用最广泛的BSD UNIX 的Mbuf 缓存管理系统,去掉Mbuf 中实现复杂的、开销大的部分,根据嵌入式系统的实际需要,以减少内存使用量、增强实时性、可移植性为目标,设计实现了pbuf。本文分析LwIP 的缓存管理系统实现,并实现在EuroDOSIS 协议栈的嵌入式系统中应用。
猜您喜欢
推荐帖子 最新更新时间:2024-11-13 04:22
评论