(南京大學計算機科學與技術系, 江蘇 南京 210046)
摘要:設備驅動程序復雜度較高,導致其體量龐大,開發效率低下,且是導致操作系統崩潰的主要源頭。為了提高設備驅動程序的開發效率,減少設備驅動程序中的錯誤,提高其質量,本文提出了一種模塊化設備驅動開發方法,并運用這一方法針對以太網網卡類設備設計了模塊化設備驅動開發框架。接著對該框架進行實例化,為四塊網卡構造出Linux和VxWorks兩種操作系統下的網卡設備驅動程序以說明方法的可行性和有效性。
關鍵詞:設備驅動;復雜性;可復用性;質量;模塊化開發方法
Modular Development Framework for Embedded Network Device Drivers
JI Yi-qin
。―epartment of Computer Science and Technology, Nanjing University, Nanjing 210046, China)
Abstract:The huge volume and error-prone characteristics of device drivers is determined by their intrinsic complexity. In order to raise the efficiency of device drivers development and improve the quality of device drivers by reducing errors in device drivers, we propose a modular approach for device driver development. Adopting this approach, we developed a modular device driver development framework for Ethernet devices. Then using the framework, we developed drivers for the four Network Interface Cards in Embedded Linux and Vxworks to prove the feasibility and effectiveness of our approach.
Key words:device driver; complexity; reusability; quality; modular approach
參考文獻 (References)
[1] A. Kadav, and M. M. Swift. Understanding modern device drivers[A]. In Proceedings of the 7th international conference on Architectural Support for Programming Languages and Operating Systems[C], 2012, pp.87-98.
[2] S. Wang, S. Malik, and R. A. Bergamaschi, Modeling and integration of peripheral devices in embedded systems[A]. In Proceedings of the 40th ACM/IEEE Conference on Design, Automation and Test in Europe[C], 2003, pp.136-141.
[3] L. Ryzhyk, P. Chubb, I. Kuz, E. L. Sueur, and G. Heiser, Automatic device driver synthesis with Termite[A], In Proceedings of the 22nd ACM Symposium on Operating Systems Principles[C], 2009, pp.73-86.
[4] H. Chen, G. Godet-Bar and F. Rousseau. Me3D: A model-driven methodology expediting embedded device driver development[A], In Proceedings of International Symposium on Rapid System Prototyping[C], 2011, pp.171-177.
[5] T. Katayama, K. Saisho, and A. Fukuda, Abstraction of Device Drivers and Inputs of the Device Driver Generation System for UNIX-like Operating Systems[A], In Proceedings of the 19th IASTED International Confonference on Applied Informatics[C], 2001, pp.489-495.
[6] F. Merillon, L. Reveillere, C. Consel, R. Marlet, and G. Muller, Devil: an IDL for hardware programming[A], In Proceedings of the 4th conference on Symposium on Operating System Design & Implementation[C], 2000, Vol.4, pp.2-2.
[7] C. L. Conway and S. A. Edwards, NDL: a domain-specific language for device drivers[A], In Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems[C], 2004, pp.30-36.
[8] J. Sun, W. Yuan, M. Kallahalla, and N. Islam, HAIL: A Language for Easy and Correct Device Access[A], In Proceedings of the 5th ACM international conference on Embedded software[C], 2005, pp.1-9.
作者簡介:
季義欽(1987-),男,碩士研究生,嵌入式軟件開發,南京大學計算機系。