论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
与VxWorks操作系统捆绑发行的标准网络协议栈,是一个与BSD4.4兼容、功能齐全并针对嵌入式应用作了大量优化的TCP/IP协议栈。该网络协议栈与VxWorks操作系统、开发工具、设备管理工具以及上层协议和应用可以集成在一起,有完整的路由功能并可以根据需要进行剪裁。VxWorks的网络协议栈的分层结构如图3所示。
VxWorks网络协议栈传输数据使用的内存,是在系统启动进行网络协议初始化的时候就申请下来的,并使用系统提供的netBufLib建立内存字点池来管理这些内存空间。网络协议栈传输数据所需的内存都是从这些内存节点池中申请,使用完毕后再释放。
NetBufLib通过3种数据结构处理网络协议栈传输的数据:mBlk、clBlk和Cluster。其中,Cluster保存的是实际的数据,mBlk和clBlk中保存的信息是用来管理Cluster中保存的数据的。为了满足传输不同大小数据的需要,Cluster是一些大小不同的内存块;缺省情况下,VxWorks网络协议栈创建了大小从64~2048字节的6个不同的内存节点池。
由于mBlk中保存的只是指向数据的指针,因此,网络协议栈不同层之间的数据传输可以避免数据拷贝。此外,对于分布在多个Cluster中的数据