1. A method, comprising: loading a user-mode driver associated with a device; loading a kernel stub associated with the user-mode driver in a kernel of an operating system; providing a software based fault isolation mechanism to execute the kernel stub; receiving an interrupt; invoking the kernel stub to perform an interrupt service routine; transferring information about the interrupt to the user-mode driver; providing the kernel stub access to a shared memory space that is shared between the kernel stub and the user-mode driver; and synchronizing the user-mode driver access with a plurality of system resources.