Advanced Power Management

L'Advanced power management (APM) è un API sviluppata da Intel e Microsoft e pubblicata nel 1992 [1] la quale consente a un sistema operativo che gira su un personal computer IBM-compatibile di funzionare con il BIOS (parte del firmware del computer) per assumere il controllo del risparmio energetico.

L'ultima versione della specifica APM fu la revisione 1.2, distribuita nel 1996. ACPI è inteso come il successore di APM. La Microsoft ha cessato il supporto per l'APM su Windows Vista.

Panoramica

modifica
 
Gli strati in APM.

APM per gestire i dispositivi utilizza un approccio a strati. Le applicazioni capaci di utilizzare l'APM (inclusi i driver di periferica) comunicano con un driver APM specifico per il SO. Questo driver comunica al BIOS provvisto di supporto APM, il quale controlla l'hardware. È possibile escludere dal controllo APM anche un singolo dispositivo e può essere usato se un driver desidera comunicare direttamente con il dispositivo hardware.

La comunicazione è bidirezionale: gli eventi di risparmio energetico sono inviati dal BIOS al driver APM, e il driver APM invia le informazioni e le richieste al BIOS tramite chiamate a funzioni. In questo modo il driver APM funge da intermediario tra il BIOS e il sistema operativo.

Il risparmio energetico avviene in due modi: attraverso le sopracitate chiamate di funzione dal driver APM al BIOS che richiede i cambiamenti di stato dell'energia, e automaticamente basandosi sulle attività del dispositivo.

Eventi della gestione dell'energia

modifica

Ci sono 12 eventi energetici (come lo standby, richieste di sospensione e ripristino, e notifiche di bassa carica della batteria), più gli eventi definiti dall'OEM, che possono essere inviati dal BIOS APM al sistema operativo. Il driver APM effettua regolarmente il poll per le notifica di cambio evento.

Eventi di Gestione dell'Energia:[1]

Nome Codice Commento
Notifica richiesta standby sistema 0x0001
Notifica richiesta sospensione sistema 0x0002
Notifica sistema ripristino normale 0x0003
Notifica sistema ripristino critico 0x0004
Notifica livello della batteria basso 0x0005
Notifica cambio stato energetico 0x0006
Notifica aggiornamento ora 0x0007
Notifica critica sospensione sistema 0x0008
Notifica richiesta utente standby sistema 0x0009
Notifica richiesta utente sospensione sistema 0x000A
Notifica ripristino standby sistema 0x000B
Notifica cambio capacità 0x000C Dovuto a inserimento/rimozione di un'impostazione o dispositivo

Funzioni di Gestione dell'Energia:[1]

Nome Codice Commento
Controllo Installazione APM 0x00
Connessione Interfaccia Modalità Reale APM 0x01
Connessione Interfaccia Modalità 16-bit APM 0x02 Evita modalità reale o virtual86
Connessione Interfaccia Modalità Protetta 32-bit APM 0x03 Evita modalità reale o virtual86
Disconnessione Interfaccia APM 0x04
CPU Inattiva 0x05 Richiede la sospensione del sistema..
0) Il clock è fermato fino a un interrupt nel tick del timer.
1) Clock lento[1]
CPU Occupata 0x06 Il driver dice al sistema APM di ripristinare la velocità di clock della CPU.
Imposta lo Stato Energetico 0x07 Imposta il sistema o dispositivo in stato di Sospensione/Standby/Spegnimendo..
Abilita/Disabilita Gestione Energetica 0x08
Ripristina le impostazioni predefinite del BIOS APM 0x09
Ottiene lo Stato Energetico 0x0A Supporta stati AC "On backup power". E stati di batteria.
Ottiene Evento PM 0x0B Controlla gli eventi APM. Dovrebbe essere chiamato una volta al secondo.
Ottiene Stato Energetico 0x0C
Attiva/Disattiva Gestione Energetica Dispositivo 0x0D
Versione Driver APM 0x0E
Richiede/Libera Gestione Energetica 0x0F Gestione APM per il dispositivo specifico.
Ottiene Capacità 0x10
Ottiene/Imposta/Disabilita Contatore Ripristino 0x11
Enable/Disable Resume on Ring Indicator 0x12
Enable/Disable Timer Based Requests 0x13
Controllo Installazione APM OEM 0x80 Dice se il BIOS APM supporta le funzioni dipendenti da hardware OEM.
Funzioni APM OEM 0x80 Accede alle funzioni OEM specifiche.

Funzioni APM

modifica

Ci sono 21 chiamate di funzioni APM definite e che il driver APM può utilizzare per richiedere gli stati di gestione dell'energia, o richiedere transizioni di stati energetici. Esempi di chiamate a funzioni includono informare il BIOS sull'utilizzo corrente della CPU (il BIOS può rispondere a questo tipo di chiamata piazzando la CPU in stato di basso consumo, o rimettendola al suo stato di massima energia), richiedendo lo stato di energia corrente di un dispositivo, o richiedendo un cambio dello stato energetico.

Stati energetici

modifica

La specifica APM definisce stati energetici di sistema e di dispositivo.

Stati energetici di sistema

modifica

L'APM definisce cinque stati energetici per il sistema del computer:

  • Full On: il computer è acceso, e nessun dispositivo è in modalità risparmio energetico.
  • APM Enabled: il computer è acceso, e l'APM sta controllando la gestione energetica del dispositivo se necessario.
  • APM Standby: la maggior parte dei dispositivi sono nel rispettivo stato di basso consumo, la CPU è rallentata o fermata, e lo stato di sistema è salvato. Il computer può essere ripristinato rapidamente al suo stato iniziale (in risposta ad attività come la pressione di un tasto della tastiera da parte dell'utente).
  • APM Suspend: la maggior parte dei dispositivi sono spenti, ma lo stato del sistema è salvato. Il computer può essere ripristinato al suo stato originario, ma richiede relativamente molto tempo (l'ibernamento è una forma speciale di stato APM Suspend).
  • Off: il computer è spento.

Stati energetici di dispositivo

modifica

L'APM definisce anche stati energetici che l'hardware con supporto APM può implementare. Non è necessario che un dispositivo con supporto APM implementi tutti gli stati.

I quattro stati sono:

  • Device On: Il dispositivo è in modalità massima energia.
  • Device Power Managed: Il dispositivo è ancora acceso, ma alcune funzionalità non sono disponibili, o hanno prestazioni ridotte.
  • Device Low Power: Il dispositivo non è in funzione. L'energia è mantenuta affinché il dispositivo possa 'risvegliarsi'.
  • Device Off: Il dispositivo è spento.

Integrazione con la CPU

modifica

Il nucleo della CPU (definito nell'APM con clock della CPU, cache, bus di sistema e contatori di sistema) è appositamente trattato nell'APM come l'ultimo dispositivo ad essere spento, e il primo ad essere riacceso. Il nucleo della CPU è controllato esclusivamente attraverso il BIOS APM. I driver possono usare le chiamate di funzione dell'APM per notificare al BIOS la modalità di funzionamento della CPU, ma sta al BIOS agire utilizzando queste informazioni: un driver non può agire direttamente sulla CPU per passare alla modalità di risparmio energetico.

  1. ^ a b c d Specifica dell'Interfaccia del BIOS Advanced Power Management (APM), Revisione 1.2 febbraio 1996 Intel/Microsoft (RTF), su download.microsoft.com. URL consultato il 25 aprile 2019 (archiviato dall'url originale il 18 aprile 2016). 090429

Voci correlate

modifica

Altri progetti

modifica

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica