COMPUTER SCIENCE AND TECHNOLOGY |
|
|
|
|
|
Requirement characteristics for kernel services of Linux device drivers |
MAO Junjie, CHEN Yu |
Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China |
|
|
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.
|
Keywords
device drivers
requirement characteristics
code analysis
|
|
Issue Date: 15 August 2015
|
|
|
[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. |
|
Viewed |
|
|
|
Full text
|
|
|
|
|
Abstract
|
|
|
|
|
Cited |
|
|
|
|
|
Shared |
|
|
|
|
|
Discussed |
|
|
|
|