计算机科学 ›› 2017, Vol. 44 ›› Issue (4): 39-42.doi: 10.11896/j.issn.1002-137X.2017.04.009

• NASAC 2015 • 上一篇    下一篇

Linux设备驱动重用研究

王欢,茅俊杰,王丹,陈渝   

  1. 北京工业大学计算机学院 北京100124,清华大学计算机科学与技术系 北京100084,北京工业大学计算机学院 北京100124,清华大学计算机科学与技术系 北京100084
  • 出版日期:2018-11-13 发布日期:2018-11-13

Research on Linux Device Driver Reuse

WANG Huan, MAO Jun-jie, WANG Dan and CHEN Yu   

  • Online:2018-11-13 Published:2018-11-13

摘要: 设备驱动是影响操作系统适用性的重要因素。考虑到完全重新开发设备驱动代价过大,重用已有操作系统中的设备驱动便成为了提高操作系统适用性的首选方法。设备驱动的重用过程本质上是在目标环境中建立设备驱动的运行环境的过程,重用一个设备驱动并不需要实现所有内核服务。代码依赖分析可以分析驱动代码对内核服务的依赖关系,因此可以使用代码依赖分析技术自动构建设备驱动运行环境。通过在嵌入式操作系统ucore OS中重用e1000网卡驱动来证明方法的可行性。

关键词: Linux,设备驱动重用,代码依赖分析,设备驱动运行环境

Abstract: Device drivers is an important factor affecting the applicability of the operating system.Considering the large cost of completely developing a device driver,reusing existing device drivers in the operating system became the preferred method for improving the applicability of operating system.Reuse of device driver process is essentially a target environment set up process of device drivers,reusing a device driver does not need to implement all of the kernel servi-ces.Code dependency analysis could recognize the dependency between device driver and kernel service.Device driver environment can be built by code dependency analysis technology automatically.Through reusing the e1000 network adapter driver,the feasibility of this method was proved.

Key words: Linux,Device driver reuse,Code dependency analysis,Device driver environment

[1] APPAVOO J,AUSLANDER M,DASILVA D,et al.Utilizing Linux kernel components in K42:Technical report[R].IBM Watson Research,2002.
[2] POESS B.Binary device driver reuse[D].Universitt Karlsruhe (TH),2007.
[3] STOESS J L V V U J,GTZ S.Unmodified device driver reuse and improved system dependability via virtual machines[C]∥Proceedings of the 6th Conference on Symposium on Opearting Systems Design & Implementation.2004.
[4] FORD B,BACK G,BENSON G,et al.The Flux OSKit:A substrate for kernel and language research[C]∥Proceedings of the 16th ACM Symposium on Operating Systems Principles.ACM,1997.
[5] ALONI D.Cooperative linux[C]∥Proceedings of the Linux Symposium.2004:23-31.
[6] GENODE:Operating System Framework.http://genode.org.
[7] BOHNER S A,ARNOLD R S.Software change impact analysis[M].Wiley-IEEE computer society press,1996.
[8] HUANG L,SONG Y T.Precise dynamic impact analysis with dependency analysis for object-oriented programs[C]∥5th ACIS International Conference on Software Engineering Research,Management & Applications,2007(SERA 2007).IEEE,2007:374-384.
[9] YU Z,RAJLICH V.Hidden dependencies in program compre-hension and change propation[C]∥9th International Workshop on Program Comprehension,2001(IWPC 2001).IEEE,2001:293-299.
[10] GitHub.https://github.com/chyyuu/ucore_plus.
[11] HUANG W W.C program file dependency analysis[D].Nanjing:Southeast University,2004.(in Chinese) 黄文伟.C 程序文件间依赖性分析[D].南京:东南大学,2004.
[12] ZHOU X Y,HUANG W W,SHI L,et al.Analysis of Depen-dences among C Program Units[J].Computer & Digital Engineer,2005,32(6):1-4.(in Chinese) 周晓字,黄文伟,史亮,等.C程序单元级依赖性分析[J].计算机与数字工程,2005,2(6):1-4.
[13] MAO J J,CHEN Y.Understanding requirement characteristics of Linux device drivers for kernel services[J].Journal of Tsinghua Universiry(Science and Technology),2015(8):911-915.(in Chinese) 茅俊杰,陈渝.Linux 设备驱动的内核服务需求特征[J].清华大学学报(自然科学版),2015(8):911-915.

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!