Trustworthy Systems

User-level device drivers: Achieved performance


Ben Leslie, Peter Chubb, Nicholas FitzRoy-Dale, Stefan Götz, Charles Gray, Luke Macpherson, Daniel Potts, Yueting (Rita) Shen, Kevin Elphinstone and Gernot Heiser

NICTA, Sydney, Australia
UNSW, Australia


Running device drivers as unprivileged user-level code, encapsulated into their own process, has often been proposed as a technique for increasing system robustness. However, in the past, systems based on user-level drivers have generally exhibited poor I/O performance. Consequently, user-level device drivers have never caught on to any significant degree.

In this paper we demonstrate that it is possible to build systems which employ user-level device drivers, without significant performance degradation, even for high-bandwidth devices such as Gigabit Ethernet.

BibTeX Entry

    author           = {Ben Leslie and Peter Chubb and Nicholas FitzRoy-Dale and Stefan G\"{o}tz and Charles Gray and Luke
                        Macpherson and Daniel Potts and Yueting (Rita) Shen and Kevin Elphinstone and Gernot Heiser},
    journal          = {Journal of Computer Science and Technology},
    month            = sep,
    number           = {5},
    pages            = {654--664},
    paperurl         = {},
    title            = {User-level Device Drivers: Achieved Performance},
    volume           = {20},
    year             = {2005}