Christopher L. Conway, Stephen A. Edwards
2004 SIGPLAN notices  
Device drivers are difficult to write and error-prone. They are usually written in C, a fairly low-level language with minimal type safety and little support for device semantics. As a result, they have become a major source of instability in operating system code. This paper presents NDL, a language for device drivers. NDL provides high-level abstractions of device resources and constructs tailored to describing common device driver operations. We show that NDL allows for the coding of a
more » ... ically correct driver with a code size reduction of more than 50% and a minimal impact on performance.
doi:10.1145/998300.997169 fatcat:tlbvzu7xqnbz5edhzrwaui5sfi