Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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, 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 núcleo se ejecutan en modo núcleo como parte del ejecutivo, que consta de componentes del sistema operativo en modo núcleo que administran la E/S, Plug and Play, la memoria, los procesos y subprocesos, la seguridad, etc. Los controladores en modo kernel suelen estar en capas. Por lo general, los controladores de nivel superior suelen recibir datos de 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 controladores de Windows (WDM). Todos los controladores WDM admiten Plug and Play y la administración de energía.
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 controladores estándar definidas por el sistema.
En la ilustración siguiente se dividen los controladores en modo kernel en varios tipos.
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:
Controladores de nivel superior. Los controladores de nivel más alto 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 más alto siempre dependen del soporte técnico de los controladores de nivel inferior subyacentes, como los controladores de función de nivel intermedio y los controladores de bus de hardware de nivel inferior.
Controladores intermedios, como un disco virtual, un reflejo o un controlador de clase específico del tipo de dispositivo. Los controladores intermedios dependen del soporte de los controladores de nivel inferior subyacentes. Los controladores intermedios se subdividen 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 encima o debajo de los controladores de función.
Los controladores de bus de software presentan un conjunto de dispositivos secundarios a los que pueden conectarse controladores de clase, función o filtro de nivel superior.
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 un controlador de bus de software.
Los controladores de nivel más bajo 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 son suministrados 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 la memoria del dispositivo y las solicitudes de interrupciones (IRQs).
Los controladores heredados que controlan directamente un dispositivo físico son controladores de nivel inferior.