Abstract:Based on the research of Linux Device Driver Model, this paper proposes and implements a new user-mode device driver framework called U2MDF(Unified User-Mode Driver Framework). The core idea of U2MDF is splitting the traditional device driver into two parts. One called kernel-mode driver component contains the hot code related to performance or critical paths, such as interrupt handler, and the other called user-mode driver component contains the performance-independent code, such as the device initialization. To take network device RTL8139 for an example, the prototype system is implemented. Experiments show that U2MDF reduces the driver code that runs in the kernel mode effectively and isolates the driver and kernel roughly. Therefore it ultimately improves the reliability of operating systems.