Please wait a minute...
 首页  期刊介绍 期刊订阅 联系我们 横山亮次奖 百年刊庆
 
最新录用  |  预出版  |  当期目录  |  过刊浏览  |  阅读排行  |  下载排行  |  引用排行  |  横山亮次奖  |  百年刊庆
清华大学学报(自然科学版)  2015, Vol. 55 Issue (8): 911-915    
  计算机科学与技术 本期目录 | 过刊浏览 | 高级检索 |
Linux设备驱动的内核服务需求特征
茅俊杰, 陈渝
清华大学 计算机科学与技术系, 北京 100084
Requirement characteristics for kernel services of Linux device drivers
MAO Junjie, CHEN Yu
Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China
全文: PDF(1018 KB)  
输出: BibTeX | EndNote (RIS)      
摘要 重用Linux的设备驱动可以极大拓展新兴操作系统的应用场景, 然而目前对Linux设备驱动对内核服务的需求的理解仍然不足, 重用驱动的工作仍然缺乏辅助工具。该文选取了6类共271个Linux设备驱动作为样本, 基于源代码和历史记录进行分析和统计, 表明Linux设备驱动对内核服务的需求具有通用接口倾向性, 同类设备驱动对内核服务的需求具有相似性, 而不同类驱动的需求特征则有明显不同。这些结论有助于指导Linux设备驱动的重用和相应辅助工具的设计与开发。
服务
把本文推荐给朋友
加入引用管理器
E-mail Alert
RSS
作者相关文章
茅俊杰
陈渝
关键词 设备驱动需求特征代码分析    
Abstract:Reuse of Linux device drivers allows new operating systems to be deployed over a wider range of hardware platforms. However, there are few tools to help developers reuse device drivers due to the lack of a thorough understanding of the requirement characteristics for kernel services by device drivers. The source codes of 271 device drivers in 6 categories were analyzed to identify their required kernel services. The results show that the drivers prefer generic interfaces over specialized ones. In addition, drivers in the same category have similar requirements while drivers in different categories do not. The conclusions will guide the reuse of Linux device drivers and the design of tools to help developers reuse drivers.
Key wordsdevice drivers    requirement characteristics    code analysis
收稿日期: 2014-05-19      出版日期: 2015-08-15
ZTFLH:  TP316.1  
通讯作者: 陈渝,副教授,E-mail:yuchen@tsinghua.edu.cn     E-mail: yuchen@tsinghua.edu.cn
引用本文:   
茅俊杰, 陈渝. Linux设备驱动的内核服务需求特征[J]. 清华大学学报(自然科学版), 2015, 55(8): 911-915.
MAO Junjie, CHEN Yu. Requirement characteristics for kernel services of Linux device drivers. Journal of Tsinghua University(Science and Technology), 2015, 55(8): 911-915.
链接本文:  
http://jst.tsinghuajournals.com/CN/  或          http://jst.tsinghuajournals.com/CN/Y2015/V55/I8/911
  表1 统计范围内的6类设备驱动
  表2 设备驱动对各类锁机制的使用频度
  表3 设备驱动对各类同步机制的使用频度
  表4 设备驱动对各类内存管理接口的使用频度
  表5 设备驱动对系统时间接口的使用频度
  表6 设备驱动对各类延时操作的使用频度
  图1 多类设备驱动间的内核服务需求相似矩阵
  图2 多类设备驱动间对内核服务需求的相似性
[1] Klein G, Elphinstone K, Heiser G, et al. seL4: Formal verification of an OS kernel [C]// Proceedings of the 22nd ACM Symposium on Operating Systems Principles. Big Sky, Montana: ACM Press, 2009: 207-220.
[2] Andrew B, Simon P, Adrian S, et al. Your computer is already a distributed system. Why isn't your OS [C]// Proceeding of 12th workshop on Hot Topics in Operating Systems. Monte Verita, Switzerland: USENIX Association, 2009: 1-5.
[3] Clements A, Kaashoek F, Zeldovich N, et al. The scalable commutativity rule: Designing scalable software for multicore processors [C]// Proceedings of the 24th ACM Symposium on Operating Systems Principles. Farmington, Pennsylvania, USA: ACM Press, 2013: 1-17.
[4] Cloudius Systems. OSv-the operating system designed for the cloud [Z/OL]. [2014-05-01]. http://osv.io/.
[5] LeVasseur J, Uhlig V, Stoess J, et al. Unmodified device driver reuse and improved system dependability via virtual machines [C]// Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation, San Francisco, CA, USA: USENIX Association, 2004: 17-30.
[6] Ryzhyk L, Chubb P, Kuz I, et al. Automatic device driver synthesis with Termite [C]// Proceedings of the 22nd ACM Symposium on Operating System Principles. Big Sky, MT, USA: ACM Press, 2009: 73-86.
[7] Boyd-Wickizer S, Zeldovich N. Tolerating Malicious Device Drivers in Linux [C]// Proceedings of USENIX Annual Technical Conference. Boston, MA, USA: USENIX Association, 2010: 1-14.
[8] Genode Labs. Genode Operating Framework [Z/OL]. [2014-05-01]. http://genode.org/.
[9] Kadav A, Swift M. Understanding modern device drivers [C]// Proceedings of the 17th international conference on Architectural Support for Programming Languages and Operating Systems. London, UK: ACM Press, 2012: 87-98.
[10] Tschudin P, Reveillere L, Jiang L, et al. Understanding the genetic makeup of Linux device drivers [C]// Proceedings of the Seventh Workshop on Programming Languages and Operating Systems. Farmington, Pennsylvania, USA: ACM Press, 2013: 3-6.
[11] Linux Foundation. Internal API changes [Z/OL]. [2011-05-01]. http://www.linuxfound ation.org/content/ 44-internal-api-changes.
[12] Padioleau Y, Lawall J, Muller G. Understanding collateral evolution in Linux device drivers [C]// Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems. Leuven, Belgium: ACM Press, 2006: 59-71.
[1] 刘圣卓, 姜进磊, 杨广文. 基于副本的跨数据中心虚拟机快速迁移算法[J]. 清华大学学报(自然科学版), 2015, 55(5): 579-584.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
版权所有 © 《清华大学学报(自然科学版)》编辑部
本系统由北京玛格泰克科技发展有限公司设计开发 技术支持:support@magtech.com.cn