论文部分内容阅读
本文重点研究了以Linux网络设备驱动程序为基础的零拷贝原理及其实现方法。文中提出的零拷贝解决方案,可用于解决目前网络服务领域面临的问题。
本文对Linux网络设备驱动程序结构与功能做了具体研究,并对零拷贝技术从原理到实现进行了较深入的分析。在介绍了Linux内核模块机制(LKM机制)、Linux网络设备驱动程序和零拷贝技术之后,详细描述了驱动程序模块和零拷贝技术实现程序的设计过程。在设计中,将零拷贝技术的实现划分为网络设备内存到内核内存映射和内核内存到应用程序内存映射两部分,并在编写Linux网络设备驱动程序的基础上通过proc文件系统和mmap函数完成了内核内存到应用程序内存映射的实现,完成的软件模块不但可以完成普通网络驱动程序的局域网ping操作,还可以实现内核内存的映射、输出。
该解决方案针对Linux系统平台内核版本2.6.11,采用Linux内核模块设计机制,这样不但有利于与Linux操作系统结合,并且有利于程序模块的开发、维护和测试。最后给出了实验方法和测试结果。测试结果表明,模块和程序运行稳定,达到了预期的目的。