Compartir a través de


Tipos de controladores de Windows

Hay dos tipos básicos de controladores de Microsoft Windows:

  • Los controladores en modo de usuario se ejecutan en modo de usuario y normalmente proporcionan una interfaz entre una aplicación Win32 y controladores en modo kernel u otros componentes del sistema operativo.

    Por ejemplo, en Windows Vista, todos los controladores de impresora se ejecutan en modo de usuario. Para obtener más información sobre los componentes del controlador de impresora, vea Introducción a la impresión.

  • Los controladores en modo kernel se ejecutan en modo kernel como parte del ejecutivo, que consta de componentes del sistema operativo en modo kernel que administran E/S, Plug and Play memoria, procesos y subprocesos, seguridad, etc. Los controladores en modo kernel suelen estar en capas. Por lo general, los controladores de nivel superior suelen recibir datos de las aplicaciones, filtrar los datos y pasarlos a un controlador de nivel inferior que admita la funcionalidad del dispositivo.

    Algunos controladores en modo kernel también son controladores WDM, que se ajustan al modelo de controlador de Windows (WDM). Todos los controladores WDM admiten Plug and Play y administración de energía. Los controladores WDM son compatibles con el código fuente (pero no compatibles con binarios) en los sistemas operativos Windows 98/Me y Windows 2000 y versiones posteriores.

    Al igual que el propio sistema operativo, los controladores en modo kernel se implementan como componentes modulares discretos que tienen un conjunto bien definido de funcionalidades necesarias. Todos los controladores en modo kernel proporcionan un conjunto de rutinas de controlador estándar definidas por el sistema.

En la ilustración siguiente se dividen los controladores en modo kernel en varios tipos.

diagrama que ilustra los tipos de controladores en modo kernel.

Como se muestra en la ilustración, hay tres tipos básicos de controladores en modo kernel en una pila de controladores: nivel superior, intermedio y nivel más bajo. Cada tipo solo difiere ligeramente en la estructura, pero en gran medida en la funcionalidad:

  1. Controladores de nivel superior. Los controladores de nivel superior incluyen controladores del sistema de archivos (FSD) que admiten sistemas de archivos, como:

    • NTFS

    • Tabla de asignación de archivos (FAT)

    • Sistema de archivos CD-ROM (CDFS)

    Los controladores de nivel superior siempre dependen de la compatibilidad de los controladores subyacentes de nivel inferior, como los controladores de función de nivel intermedio y los controladores de bus de hardware de nivel inferior.

  2. Controladores intermedios, como un disco virtual, un reflejo o un controlador de clase específico del tipo de dispositivo. Los controladores intermedios dependen de la compatibilidad de los controladores subyacentes de nivel inferior. Los controladores intermedios se subdividirán de la siguiente manera:

    • Los controladores de función controlan dispositivos periféricos específicos en un bus de E/S.

    • Los controladores de filtro se insertan por encima o por debajo de los controladores de función.

    • Los controladores de bus de software presentan un conjunto de dispositivos secundarios a los que los controladores de filtro, función o clase de nivel superior pueden asociarse.

      Por ejemplo, un controlador que controla un adaptador multifunción con un conjunto incorporado de dispositivos heterogéneos es un controlador de bus de software.

    • Cualquier controlador de clase proporcionado por el sistema que exporte una interfaz de clase o miniclase definida por el sistema es, en efecto, un controlador intermedio con uno o varios controladores de miniclase vinculados (a veces denominados minidrivers). Cada par de clase/minidriver vinculado proporciona funcionalidad equivalente a la de un controlador de función o de un controlador de bus de software.

  3. Los controladores de nivel inferior controlan un bus de E/S al que están conectados los dispositivos periféricos. Los controladores de nivel más bajo no dependen de los controladores de nivel inferior.

    • Los controladores de bus de hardware se suministran por el sistema y normalmente controlan los buses de E/S configurables dinámicamente.

      Los controladores de bus de hardware funcionan con el administrador de Plug and Play para configurar y volver a configurar los recursos de hardware del sistema, para todos los dispositivos secundarios conectados a los buses de E/S que controla el controlador. Estos recursos de hardware incluyen asignaciones para las solicitudes de interrupción y memoria del dispositivo (IRQ). (Los controladores de bus de hardware suscriben parte de la funcionalidad que el componente HAL proporcionó en versiones del sistema operativo basado en Windows NT anterior a Windows 2000).

    • Los controladores heredados que controlan directamente un dispositivo físico son controladores de nivel inferior.