论文部分内容阅读
计算机的硬件正以惊人的速度在发展。目前在多媒体下载、流媒体数据业务支持、航天通信等领域的嵌入式开发应用中,使用的嵌入式硬件平台已经完全突破了早期的单片机的性能限制。这些高性能的硬件平台从处理器、系统内存、接口、系统硬件扩充等各个方面都对嵌入式网络开发提供了更强大的硬件支持。论文的主要工作是针对日前高性能的嵌入式系统的硬件特性,在嵌入式的Internet应用开发的过程中,对实时操作系统的网络协议栈的一些关键技术点进行优化,充分利用高性能嵌入式系统的硬件资源使得网络协议栈的实时性能和数据吞吐量有所改善。在移植实时操作系统网络协议栈或者自己设计一个实时操作系统的网络协议栈时,需要针对不同的软硬件平台的特征对网络议栈的进程模型、缓冲管理、接口管理等关键技术点进行特殊方案设计。本论文在高性能嵌入式系统的硬件平台下对这些设计方案进行了评估,并在此基础上针对一个特定的嵌入式操作系统的网络协议栈进行了实践。在实践的过程中,风络协议栈的进程模型采用了两层结构,网络层以下划分为一个进程以便接口管理方案的应用,网络层以及网络层以上划分为一个进程,从而降低多进程模型时每层数据缓冲的内存消耗。同时优化了网络协议栈的内存分配单元的数据结构,从而降低了其动态分配和回收的时间消耗,另一方面通过提供数据包头部类型的分配单元,来降低协议栈内部数据传递时数据拷贝的次数。此外网络协议栈内部,在接口层优化了接口管理的数据结构,提高了网络接口设备的可配置性并给出配置方法;在网络层优化了路由表的数据结构以及查询和维护的算法,提高路由表查询和插入的实时性和并行性;在传输层,采用了协议控制块的管理方案并在控制块查询时加入了hash表以提高查询效率。最后,论文给出了裁剪网络协议栈的方法,实现了网络协议栈的关键技术并进行了测试。