Linux Kernel Infrastructure for User-Level Device Drivers
an empirical study of operating system errors .