论文部分内容阅读
为了获取更好的性能,传统的linux设备驱动运行在内核空间,可以方便的取得内核的服务,但是这也造成了系统可靠性的降低,而随着硬件技术的快速发展,可靠性越来越成为制约系统发展的因素之一。用户空间驱动是提高驱动程序健壮性和可靠性的有效举措,相对于内核驱动,它增强了系统的稳定性和可靠性,并且易于开发和维护。
相对于已有的研究工作,本文的主要创新点和工作为:
(1)基于用户空间驱动的思想,设计实现了用户空间网络设备驱动的基本框架,着重分析了一些关键的技术,如用户空间操作设备寄存器空间,高效的交互框架,零拷贝的数据传输方案等等。
(2)基于用户空间驱动的思想,实现了热插拔USB设备的用户空间驱动框架,它包括用户态的热插拔监控模块,能够在USB设备插入或者拔出系统时自动识别设备,从而自动加载或卸载相应驱动。USB数据传输部分借助于libusb实现,此外还实现了用户空间的设备驱动模型。
(3)选取实际的设备对本文提出的用户空间驱动框架进行测试,实验证明用户空间驱动能够在不影响性能的情况下提高系统的可靠性。