Abstract:In order to achieve high performance, traditional linux operating system run device drivers in kernel space. Unfortunately, this architecture inevitably decreases reliability and stability of the system. Based on commonly used equipment USB devices, this paper presents a new driver architecture which run device drivers as unprivileged user-level code, encapsulated into a process, this architecture also support features such as hotplug, driver management and so on. Experiments on several usb devices show it works well in user space without significant performance degradation.