跳到主要内容
文章

了解Linux设备驱动程序的附带发展

出版:2006年4月18日出版历史
跳过抽象节

摘要

在现代操作系统(OS)中,设备驱动程序可以占源代码的70%以上。对于内核和驱动程序支持库中定义的函数和数据结构,驱动程序代码也严重依赖于操作系统的其余部分。这些属性对操作系统的发展提出了一个重大问题,因为内核和驱动程序支持库导出的接口中的任何更改都可能触发相关驱动程序的大量调整。这些调整,我们称之为附带演变可能很复杂,需要进行大量代码重组。据我们所知,在这一过程中没有任何工具可以提供帮助,因此,抵押品的演变既耗时又容易出错。在本文中,我们对Linux设备驱动程序代码中的并行演化进行了定性和定量评估。我们提供演进和并行演进的分类,并使用我们开发的自动补丁分析工具来测量Linux版本2.2和2.6之间影响设备驱动程序的演进和并行进化的数量。特别是,我们发现从Linux的一个版本到下一个版本,并行演进可以占此类代码中修改的行数的35%。

工具书类

  1. J.Appavo、M.Auslander、M.Burtico、D.D.Silva、O.Krieger、M.Mergen、M.Ostrowski、B.Rosenburg、R.W.Wisniewski和J.Xenidis。K42:一个开源的兼容Linux的可扩展操作系统内核。《IBM系统期刊》,44(2):427-4402005。]]谷歌学者谷歌学者数字图书馆数字图书馆
  2. T.Ball、E.Bounimova、B.Cook、V.Levin、J.Lichtenberg、C.McGarvey、B.Ondrusek、S.K.Rajamani和A.Ustuner。对设备驱动程序进行全面的静态分析。2006年4月,在比利时鲁汶举行的首届ACM SIGOPS EuroSys会议(EuroSys 2006)上。出现。]]谷歌学者谷歌学者数字图书馆数字图书馆
  3. A.Chou、J.Yang、B.Chelf、S.Hallem和D.Engler。操作系统错误的实证研究。在SOSP'01{21}中,第73--88页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  4. A.C.de Melo、D.Jones和J.Garzik,2001年。http://umeet.uninet.edu/umeet2001/talk/15-12-2001/arnaldo-talk.html。]]谷歌学者谷歌学者
  5. D.R.Engler、B.Chelf、A.Chou和S.Hallem。使用特定于系统的程序员编写的编译器扩展检查系统规则。第四届USENIX操作系统设计与实现研讨会(OSDI)会议记录,第1-16页,加利福尼亚州圣地亚哥,2000年10月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  6. D.R.Engler、D.Y.Chen、A.Chou和B.Chelf。错误作为异常行为:推断系统代码中错误的一般方法。在SOSP'01{21}中,第57--72页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  7. J.-P.Fassino、J.-B.Stefani、J.Lawall和G.Muller。思考:基于组件的操作系统内核的软件框架。2000年USENIX年度技术会议,第73-86页,加利福尼亚州蒙特雷,2002年6月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  8. B.Ford、G.Back、G.Benson、J.Lepreau、A.Lin和O.Shivers。Flux OSKit:内核和语言研究的基础。第16届ACM操作系统原理研讨会论文集(SOSP'97),第38-51页,法国圣马洛,1997年10月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  9. J.S.Foster、T.Terauchi和A.Aiken。流敏感类型限定符。2002年ACM SIGPLAN编程语言设计与实现会议记录,第38-51页,德国柏林,2002年6月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  10. M.Fowler、K.Beck、J.Brant、W.Opdyke和D.Roberts。重构:改进现有代码的设计。Addison-Wesley Professional,1999年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  11. M.W.Godfrey和Q.Tu。开源软件的进化:案例研究。国际软件维护会议(ICSM'00),第131-142页,加利福尼亚州圣何塞,2000年。IEEE.]]谷歌学者谷歌学者数字图书馆数字图书馆
  12. A.E.哈桑。挖掘软件存储库以帮助开发人员和支持经理。加拿大安大略省滑铁卢大学数学系计算机科学学院博士论文,2004年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  13. C.Hellwig,2003年。http://www.cs.helsinki.fi/linux/linux-kernel/2003--20/1120.html。]]谷歌学者谷歌学者
  14. P.Koellner,2002年2月。http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.2/0106.html。]]谷歌学者谷歌学者
  15. J.LeVasseur、V.Uhlig、J.Stoess和S.Götz。未经修改的设备驱动程序重用,并通过虚拟机提高了系统可靠性。在OSDI’04{19}中,第17-30页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  16. Z.Li、S.Lu、S.Myagmar和Y.Zhou。CP-Miner:用于查找操作系统代码中的复制页和相关错误的工具。在OSDI’04{19}中,第289--302页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  17. LWN。2.6内核系列中的API更改,2005年10月。http://lwn.net/Articles/2.6-kernel-api/。]]谷歌学者谷歌学者
  18. D.S.Miller,2002年2月。http://www.ussg.iu.edu/hypermail/linux/kernel/0202.1/0855.html。]]谷歌学者谷歌学者
  19. 第六届USENIX操作系统设计与实现研讨会(OSDI)会议记录,加州旧金山,2004年12月。]]谷歌学者谷歌学者
  20. A.Rubini和J.Corbet。Linux设备驱动程序,第2版。O'Reilly,2001年6月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  21. 第18届ACM操作系统原理研讨会会议记录,加拿大班夫,2001年10月。]]谷歌学者谷歌学者
  22. M.M.Swift、M.Annamalai、B.N.Bershad和H.M.Levy。正在恢复设备驱动程序。在OSDI’04{19}中,第1-16页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  23. M.M.Swift、B.N.Bershad和H.M.Levy。提高商品操作系统的可靠性。ACM计算机系统交易,23(1):77--1102005年2月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  24. D.Wambolt,2001年12月。http://seclists.org/lists/linux-kernel/2001/Dec/2027.html。]]谷歌学者谷歌学者
  25. J.Weber,2002年2月。http://www.ussg.iu.edu/hypermail/linux/kernel/0202.1/0697.html。]]谷歌学者谷歌学者

索引术语

  1. 了解Linux设备驱动程序的附带发展

          建议

          评论

          登录选项

          检查您是否可以通过登录凭据或您的机构访问本文。

          登录

          完全访问权限

          • 发布于

            封面图片ACM SIGOPS操作系统评论
            ACM SIGOPS操作系统审查 第40卷第4期
            2006年EuroSys会议记录
            2006年10月
            383页
            ISSN公司:0163-5980
            内政部:10.1145/1218063
            期刊目录
            • 封面图片ACM会议
              EuroSys’06:2006年第一届ACM SIGOPS/EuroSys欧洲计算机系统会议记录
              2006年4月
              420页
              国际标准图书编号:1595933220
              内政部:2014年10月14日/1217935

            版权所有©2006作者

            出版商

            计算机协会

            美国纽约州纽约市

            出版历史

            • 出版:2006年4月18日

            检查更新

            限定符

            • 文章

          PDF格式

          以PDF文件查看或下载。

          PDF格式

          电子阅读器

          使用eReader在线查看。

          电子阅读器