Kernel-Mode and User-Mode Drivers (Compact 2013)

3/26/2014

A device driver can run in kernel memory space (kernel-mode driver) or in a specialized user-mode host process (user-mode driver). User-mode drivers offer the advantage that a driver failure in user mode only affects the current process, whereas the failure of a kernel-mode driver can impair the whole operating system. Kernel-mode drivers are generally more efficient than user-mode drivers. In kernel mode, drivers have full access to the hardware and kernel memory, although function calls are generally limited to kernel APIs. Device drivers running in user mode do not have direct access to kernel memory or to kernel APIs. The drivers loaded by the Graphics, Windowing, and Events Subsystem (GWES) and the file system can only be kernel-mode drivers. Device Manager loads both kernel-mode and user-mode drivers, native drivers cannot run in user-mode. User-mode is restricted to stream drivers only. Each driver type can be either layered or monolithic in structure.

In This Section

See Also

Concepts

Device Driver Types