Reading
The first paper is an overview and investigation of how device drivers work in a practical operating system, Linux. The second is a very high-impact paper on how to reorganize device drivers for robustness in a monolithic kernel. Their authors overlap!
The second paper will seem long; this is largely because of formatting (it is a journal paper).
-
“Understanding modern device drivers”, Asim Kadav, Michael M. Swift (ASPLOS 2012)
-
“Recovering device drivers”, Michael M. Swift, Muthukaruppan Annamalai, Brian N. Bershad, Henry M. Levy (ACM Transactions on Computer Systems, Nov. 2006)
Reading questions
-
“Understanding modern device drivers” describes some aspects of modern device driver design that conflict with the shadow driver design (“Recovering device drivers”). What to you seemed like the most important conflict?
-
“Understanding modern device drivers” also highlights some directions for future research. Which seemed to you the most interesting?
Further reading
- “Tolerating malicious device drivers in Linux”, Boyd-Wickizer S, Zeldovich N (2010)