Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and Operating System 2012
DOI: 10.1145/2150976.2150987
|View full text |Cite
|
Sign up to set email alerts
|

Understanding modern device drivers

Abstract: Device drivers are the single largest contributor to operating-system kernel code with over 5 million lines of code in the Linux kernel, and cause significant complexity, bugs and development costs. Recent years have seen a flurry of research aimed at improving the reliability and simplifying the development of drivers. However, little is known about what constitutes this huge body of code beyond the small set of drivers used for research.In this paper, we study the source code of Linux drivers to understand w… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

1
15
0

Year Published

2013
2013
2024
2024

Publication Types

Select...
6
2

Relationship

1
7

Authors

Journals

citations
Cited by 47 publications
(16 citation statements)
references
References 26 publications
1
15
0
Order By: Relevance
“…Cloning in the Linux kernel has been extensively studied in the literature [15][16] [17][21] [24] mainly focusing on the detection of small cloned code fragments. In the Linux v2.4.0, Casazza et al [17] reported cloning of 15.5% between arch and drivers subsystems.…”
Section: A Cloning In the Linux Kernelmentioning
confidence: 99%
See 1 more Smart Citation
“…Cloning in the Linux kernel has been extensively studied in the literature [15][16] [17][21] [24] mainly focusing on the detection of small cloned code fragments. In the Linux v2.4.0, Casazza et al [17] reported cloning of 15.5% between arch and drivers subsystems.…”
Section: A Cloning In the Linux Kernelmentioning
confidence: 99%
“…Other study showed that file subsystem had 12% clone coverage in the Linux v2.4.19 [16]. In the Linux v2.6.37.6, 8% code similarity between drivers (/sound and /drivers directories) has been reported [15]. An empirical study of cloning among SCSI drivers is done by [24].…”
Section: A Cloning In the Linux Kernelmentioning
confidence: 99%
“…Drivers use kernel extension functions to operate and manage devices. However, in some cases, these functions may return errors that are even fatal to drivers, such as allocating memory faults and configuration faults [1]. And in error handling paths, the driver should release the acquired resources and execute the operations that are opposite to its previous execution.…”
Section: Introductionmentioning
confidence: 99%
“…However, many drivers have proprietary commands that cannot be captured by a shadow driver common to an entire class, leading to incomplete recovery. Recent work showed that up to 44% of drivers have non-class behavior [21].…”
Section: Introductionmentioning
confidence: 99%