Hi Jim, > The obvious disadvantages of user mode device drivers are security / > isolation. without going back to the endless discussion of micro-kernels vs monolithic OS's, the main *advantage* is security and isolation: faults in the driver will not or to a lesser degree impact the kernel and thus overall system stability. And drivers are isolated from each other, if the OS is doing at least an OK job. > Do you know what the *technical* disadvantages of this approach might > be? I am most concerned about possible impact on interrupt handling. The main obstacles for driver development in my opinion are: - additional context switches (user -> user, user <-> kernel) - you need to have a decent user <-> kernel interface, since partial INT handling must be done in kernel mode - a "Device driver framework" generally helps having clean drivers and reduces code duplication and "spaghetti code" and especially reduce context switching times Apart from that the kernel might need to implement mechanisms like "priority inheritance" or other scheduling policies in order to make sure the user mode interrupt handler gets to run (with a minimal delay). //Christian -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html