节点文献

基于L4的高效可复用设备驱动模型的研究

【作者】 王小松

【导师】 李毅;

【作者基本信息】 电子科技大学 , 计算机系统结构, 2012, 硕士

【摘要】 设备驱动程序在各个系统领域中均有广泛的运用背景,但由于操作系统的各自不同的设计目标以及相对独立的运行环境,导致了目前设备驱动程序不统一、关系复杂,架构混乱,可移植性差。而设备驱动模型概念的提出,主要目的在于管理和维护操作系统的各种复杂的硬件设备所对应的驱动程序以及数据结构。这个统一的过程是一个循序渐进的过程,目前还没有一种方案让同一个设备驱动模型通用于主流操作系统之间,也没有一种数据结构能代表所有通用的硬件设备,本文提出的设计需求与实现方案是向这个统一目标而努力。为了最大化的利用有效资源,节省人力资源成本,本文结合微内核系统的特性,在L4/Fiasco微内核操作系统的基础上,对原有驱动模型的实施方案进行了深入的研究和分析,并提出具有高效性和可复用性特点的设备驱动模型的设计方案。在该模型下,本文通过改进微内核任务之间的通信方式来提高驱动程序之间的通信效率;并通过复用Linux成熟可靠的源码来缩短设备驱动程序的开发周期,从而增强了系统的可维护性。本文首先对主流操作系统中驱动模型进行研究与分析,然后介绍微内核系统下现有的设备驱动模型,最后结合这些驱动模型提供的特点与共通性,提出了新型设备驱动模型的设计要素与设计方案,并基于该设备驱动模型完成了对USB驱动框架的设计和实现,使得微内核操作系统能够支持USB存储设备的基本功能。经测试统计表明,通过有效的利用设备驱动模型,USB驱动框架的性能得到一定提升了的同时极大地提高了服务端代码对Linux的USB驱动代码的复用率。这一测试结果表明设备驱动模型设计方案的改进能有效提升驱动程序的性能和复用性。本文通过深入研究和分析目前L4微内核中针对驱动程序的性能设计上的缺陷,从新的角度考虑和分析问题,提出了具有针对性的设备驱动模型的改进和优化方案,并成功实现出具有一定创新性USB驱动框架。该USB驱动框架验证了本文提出的设备驱动模型具有良好的可扩展性结构,能够良好的复用Linux下的驱动代码,并且缩短了驱动的开发周期和降低了后期对驱动部分维护的时间成本以及人力资源。本文的工作内容对设备驱动模型的设计与实施具有一定的参考价值。

【Abstract】 Device drivers are used by variable domains in all kinds of industries. However,due to the different design principle among operating systems and independentenvironment provided by those operating systems, device drivers are all maintains theseunavoidable drawbacks such as un-unity, complexity, chaos design and poor portabilitywhich device driver developers are suffering from. Therefore, in order to maximallyutilize the available resource and cut down the cost of device driver development, thisthesis proposes a high performance and reusable device driver module based on theL4/Fiasco micro-kernel by analyzing current research results and regarding the maincharacters that a microkernel possesses. In the module, the communication performancebetween each device driver is increased by improvement of task IPC technology, andthe whole system’s extensibility and maintainability are improved by reusing the maturecode from Linux.In this thesis, firstly, the goals and design of device driver module under themicrokernel operating system is introduced. Moreover, in order to integrate USBfunction into the microkernel, the USB driver framework which is based on the devicedriver module is designed and implemented. According to results of test of USB driverframework, the performance of this framework is improved and meanwhile, the reusingcode comparing with total server code in this framework is significantly increasedwhich indicates that by using this device driver module, the performance and reusabilityare all significantly improved.The device driver module with the improvement and optimization is designed inthis thesis, and an innovative USB driver framework is successfully achieved. Thecontent of the work of this thesis with regarding the design and implementation of thedevice driver model has a certain reference value.

节点文献中: