Nooks: an architecture for reliable device drivers
Creating user-mode device drivers with a proxy