Condividi tramite


gestione termica Device-Level

A partire da Windows 8, Windows supporta la gestione termica a livello di dispositivo per i driver di dispositivo in modalità kernel. La gestione termica di Windows ha questi obiettivi:

  • Impedire ai dispositivi in una piattaforma hardware di surriscaldamento, che possono causare il funzionamento in modo errato o insoddisabile.

  • Evitare di rendere le superfici accessibili dall'utente su un case computer troppo caldo per toccare o tenere premuto comodamente.

Analogamente alla gestione delle energia, la gestione termica deve essere implementata a livello di piattaforma coordinando i vincoli termica locali del dispositivo nel contesto delle condizioni termiche globali. Fornendo il coordinamento globale, il sistema operativo può distribuire i requisiti di raffreddamento in più dispositivi in modo da ridurre al minimo l'interferenza con le attività eseguite dall'utente. I requisiti termica possono essere bilanciati in modo intelligente con altri requisiti di sistema, ad esempio la gestione della potenza e la velocità di risposta alle azioni dell'utente.

Al contrario, un driver di dispositivo che tenta di gestire i livelli di calore per il proprio dispositivo in locale, in isolamento dagli altri dispositivi nella piattaforma, è più probabile che prendere decisioni povere che comportano un utilizzo efficiente dell'alimentazione e un'interfaccia utente non rispondente.

Per partecipare alla gestione termica globale, un driver di dispositivo implementa un'interfaccia driver GUID_THERMAL_COOLING_INTERFACE . Durante l'avvio del sistema, un driver fornito dal sistema, Acpi.sys, esegue query sui driver di dispositivo nel sistema per determinare quale di essi supporta questa interfaccia. Un driver può ricevere una richiesta di IRP_MN_QUERY_INTERFACE per questa interfaccia qualsiasi volta che viene chiamata la routine AddDevice per il dispositivo del driver. In risposta a questa richiesta, il driver per un dispositivo con funzionalità di gestione termica può fornire un puntatore a una struttura THERMAL_COOLING_INTERFACE . Questa struttura contiene puntatori a un set di routine di callback implementate dal driver. Per gestire i livelli termica nel dispositivo, il sistema operativo chiama direttamente queste routine.

Le due routine principali in questa interfaccia sono Active Cooling e PassiveCooling. La routine Active Cooling del driver impegna o disengage il raffreddamento attivo nel dispositivo. Ad esempio, questa routine potrebbe attivare e disattivare una ventola. La routine passiva del driver controlla il grado di prestazioni del dispositivo da limitare per mantenere livelli termica accettabili. Ad esempio, questa routine potrebbe essere chiamata per eseguire il dispositivo a metà velocità per impedire il surriscaldamento.

Per impostazione predefinita, prima della prima chiamata alla routine Active Cooling , il raffreddamento attivo viene disattivato(ad esempio, la ventola viene disattivata). Prima della prima chiamata alla routine Passive Cooling , il driver configura il dispositivo per l'esecuzione a prestazioni complete, senza restrizioni di raffreddamento.

Un driver può implementare una o entrambe queste routine, a seconda delle funzionalità dell'hardware del dispositivo. Per altre informazioni, vedere Modalità di raffreddamento passivo e attivo.