administración térmica de Device-Level

A partir de Windows 8, Windows admite la administración térmica de nivel de dispositivo para controladores de dispositivos en modo kernel. La administración térmica de Windows tiene estos objetivos:

  • Evite que los dispositivos de una plataforma de hardware se sobrecalienten, lo que puede hacer que funcionen incorrectamente o incorrectamente.

  • Evite hacer que las superficies accesibles para el usuario en una caja del ordenador sean demasiado calientes para mantener o tocar cómodamente.

De forma similar a la gestión de energía, la gestión térmica debe implementarse en toda la plataforma coordinando las restricciones térmicas locales del dispositivo en el contexto de las condiciones térmicas globales. Al proporcionar coordinación global, el sistema operativo puede distribuir los requisitos de refrigeración entre varios dispositivos de forma que minimice la interferencia con las tareas que realiza el usuario. Los requisitos térmicos se pueden equilibrar de forma inteligente con otros requisitos del sistema, como la administración de energía y la capacidad de respuesta a las acciones del usuario.

Por el contrario, un controlador de dispositivo que intenta administrar los niveles térmicos de su dispositivo localmente, de forma aislada de los otros dispositivos de la plataforma, es más probable que tome decisiones deficientes que dan lugar a un uso de energía ineficaz y a una interfaz de usuario (UI) no responde.

Para participar en la administración térmica global, un controlador de dispositivo implementa una interfaz de controlador GUID_THERMAL_COOLING_INTERFACE . Durante el inicio del sistema, un controlador proporcionado por el sistema, Acpi.sys, consulta los controladores de dispositivo en el sistema para determinar cuál de ellos admite esta interfaz. Un controlador puede recibir una solicitud de IRP_MN_QUERY_INTERFACE para esta interfaz en cualquier momento después de llamar a la rutina AddDevice para el dispositivo del controlador. En respuesta a esta solicitud, el controlador de un dispositivo que tiene funcionalidades de administración térmica puede proporcionar un puntero a una estructura THERMAL_COOLING_INTERFACE . Esta estructura contiene punteros a un conjunto de rutinas de devolución de llamada implementadas por el controlador. Para administrar los niveles térmicos en el dispositivo, el sistema operativo llama directamente a estas rutinas.

Las dos rutinas principales de esta interfaz son ActiveCooling y PassiveCooling. La rutina ActiveCooling del controlador activa o desconecta la refrigeración activa en el dispositivo. Por ejemplo, esta rutina podría activar y desactivar un ventilador. La rutina PassiveCooling del controlador controla el grado en que se debe limitar el rendimiento del dispositivo para mantener niveles térmicos aceptables. Por ejemplo, se podría llamar a esta rutina para ejecutar el dispositivo a media velocidad para evitar que se sobrecaliente.

De forma predeterminada, antes de la primera llamada a la rutina ActiveCooling , la refrigeración activa se desconecta (por ejemplo, el ventilador está desactivado). Antes de la primera llamada a la rutina PassiveCooling , el controlador configura el dispositivo para que se ejecute en el rendimiento completo, sin restricciones de refrigeración.

Un controlador puede implementar una o ambas rutinas, en función de las funcionalidades del hardware del dispositivo. Para obtener más información, vea Modos de refrigeración pasivo y activo.