Guía de diseño de la arquitectura de controladores en modo kernel
Nota:
Para obtener información sobre las interfaces de programación que el controlador puede implementar o llamar, consulte la Referencia del controlador en modo kernel.
En esta sección se incluyen conceptos generales que le ayudarán a comprender la programación en modo kernel y a describir técnicas específicas de programación de kernel. Para obtener información general sobre los controladores de Windows, consulte Introducción al desarrollo de controladores de Windows, que proporciona una visión general de los componentes de Windows, enumera los tipos de controladores de dispositivos usados en Windows, describe los objetivos de los controladores de dispositivos de Windows y describe los controladores de dispositivo de ejemplo genéricos incluidos en el kit.
Esta sección contiene información conceptual que describe y le ayuda a crear controladores en modo kernel.
Información general que contiene:
- Información general sobre los componentes de Windows
- Objetivos de diseño para controladores en modo kernel
- Un catálogo de controladores en modo kernel de ejemplo
- Procedimientos recomendados de desarrollo de controladores de kernel, tal como lo compila el equipo de Microsoft Surface
Los componentes del modo kernel describen los principales administradores y componentes del modo kernel del sistema operativo Windows.
Componente Descripción Administradores Administrador de objetos en modo kernel de Windows Administra objetos: archivos, dispositivos, mecanismos de sincronización, claves del Registro, etc. Administrador de memoria en modo kernel de Windows Administra la memoria física para el sistema operativo. Proceso en modo kernel de Windows y Administrador de subprocesos Controla la ejecución de todos los subprocesos de un proceso. Administrador de E/S en modo kernel de Windows Administra la comunicación entre las aplicaciones y las interfaces proporcionadas por los controladores de dispositivo. Administrador de Plug and Play en modo kernel de Windows Un subsistema del administrador de E/S, el Administrador de plug and play (PnP) permite a un equipo reconocer cuándo se agrega un dispositivo al sistema. Administrador de energía en modo kernel de Windows Administra el cambio ordenado en el estado de energía de todos los dispositivos que admiten cambios de estado de energía. Administrador de configuración en modo kernel de Windows Administra el registro, como la supervisión de cambios en el registro o el registro de devoluciones de llamada en datos específicos del Registro. Administrador de transacciones kernel en modo kernel de Windows Implementa el procesamiento de transacciones en modo kernel. Monitor de referencia de seguridad en modo kernel de Windows Proporciona rutinas para que el controlador funcione con el control de acceso. Bibliotecas Biblioteca de kernels en modo kernel de Windows Implementa la funcionalidad básica de la que depende todo lo demás del sistema operativo. El kernel de Microsoft Windows proporciona operaciones básicas de bajo nivel, como programar subprocesos o interrumpir el hardware de enrutamiento. Biblioteca de soporte ejecutivo en modo kernel de Windows Hace referencia a los componentes en modo kernel que proporcionan una variedad de servicios a los controladores de dispositivos, como: administración de objetos, administración de memoria, administración de procesos y subprocesos, administración de entrada/salida y administración de configuración. Biblioteca en tiempo de ejecución en modo kernel de Windows Conjunto de rutinas comunes de utilidad necesarias para varios componentes en modo kernel. Biblioteca de cadenas segura en modo kernel de Windows Una biblioteca de cadenas segura para proporcionar mayor seguridad en el desarrollo en modo kernel. Biblioteca DMA en modo kernel de Windows Una biblioteca de acceso directo a memoria (DMA) para desarrolladores de controladores de dispositivos. Biblioteca HAL en modo kernel de Windows Una capa de abstracción de hardware (HAL) para el desarrollo de controladores en modo kernel. Biblioteca CLFS en modo kernel de Windows Un sistema de registro transaccional, el sistema de archivos de registro común (CLFS). Biblioteca WMI en modo kernel de Windows Un mecanismo general para administrar componentes, denominado Instrumental de administración de Windows (WMI). Escritura de controladores WDM e Introducción a WDM proporcionan información necesaria para escribir controladores mediante el modelo de controladores de Windows (WDM).
Objetos de dispositivo y otros temas de Objetos de dispositivo y pilas de dispositivos describen cómo el sistema operativo representa los dispositivos por objetos de dispositivo.
Administración de memoria para controladores de Windows muestra cómo los controladores en modo kernel asignan memoria para fines como almacenar datos internos, almacenar datos en búfer durante las operaciones de E/S y compartir memoria con otros componentes en modo kernel y modo de usuario.
Seguridad de Control del acceso a dispositivos y Privilegios para SDDL de objetos de dispositivo, asegúrese de que los controladores sean lo más seguros posible.
Control de IRP describe cómo los controladores en modo kernel controlan los paquetes de solicitud de E/S (IRP).
DMA Acceso directo a memoria (DMA) es un aspecto crítico del desarrollo de controladores y los temas de este nodo cubren DMA de A a Z.
Los objetos de controlador representan un controlador de dispositivo físico con dispositivos conectados.
Las rutinas de servicio de interrupción (ISR) controlan las interrupciones de los controladores de un dispositivo físico que recibe interrupciones.
Las interrupciones señalizadas por mensaje desencadenan una interrupción escribiendo un valor en una dirección de memoria determinada.
Las llamadas a procedimiento diferido (objetos DPC) se pueden poner en cola desde ISR y se ejecutan más adelante y en un IRQL inferior que el ISR.
Plug and Play (PnP) se centra en la compatibilidad de software del sistema con PnP y en cómo los controladores usan esa compatibilidad para implementar PnP.
Administración de energía describe la arquitectura que proporciona un enfoque completo para la administración de energía del sistema y del dispositivo.
Instrumental de administración de Windows (WMI) son extensiones para el controlador en modo kernel, lo que permite que el controlador se convierta en un proveedor WMI. Un proveedor WMI hace que los datos de medición e instrumentación estén disponibles para los consumidores de WMI, como las aplicaciones en modo de usuario.
Técnicas de programación de controladores Los controladores de programación en el modo kernel de Windows requieren técnicas que a veces difieren significativamente de las de la programación en modo de usuario normal.