11.15 Gestione dell'Energia e delle Risorse

Scritto da Hiten Pandya e Tom Rhodes.

È importante utilizzare le risorse hardware in maniera efficiente. Prima che ACPI fosse introdotto era difficile e per nulla flessibile per il sistema operativo gestire l'energia e le proprietà termiche del sistema. L'hardware era controllato dal BIOS e quindi l'utente aveva meno controllo e visibilità per il settaggio della gestione dell'energia. Una configurazione limitata era disponibile tramite Advanced Power Management (APM). La gestione dell'energia e delle risorse è uno dei concetti fondamentali di un moderno sistema operativo. Per esempio, puoi far sì che un sistema operativo faccia il monitoraggio dei limiti di sistema (e possibilmente ti avvisi) in caso la temperatura del sistema cresca in maniera incontrollata.

In questa sezione del Manuale di FreeBSD, ti forniremo informazioni esaustive circa ACPI. Alla fine saranno forniti maggiori riferimenti per ulteriori letture.

11.15.1 Cos'è ACPI?

ACPI (Advanced Configuration and Power Interface) è uno standard scritto da un gruppo di venditori per fornire un'interfaccia standard per risorse hardware e gestione dell'energia (da qui il nome). È un elemento centrale nella configurazione diretta del sistema operativo e nella gestione dell'energia, ad esempio: fornisce più controllo e flessibilità al sistema operativo (OS). I sistemi moderni “stressano” i limiti delle interfacce correnti Plug and Play, prima della introduzione di ACPI. ACPI è il diretto successore di APM (Advanced Power Management).

11.15.2 Riassunto della Gestione Avanzata dell'Energia (APM)

La tecnologia Advanced Power Management (APM) controlla l'uso dell'energia di un sistema basandosi sulla sua attività. Il BIOS APM è fornito dal venditore del sistema ed è specifico alla piattaforma hardware. Un driver APM nell'OS media l'accesso all'Interfaccia Software APM che permette la gestione dei livelli di energia. APM dovrebbe essere usato per sistemi prodotti nel o prima dell'anno 2000.

Ci sono quattro problemi maggiori in APM. Primo, la gestione dell'energia è fatta dal BIOS (specifico del venditore) e l'OS non ne ha conoscenza. Un esempio di questo è quando l'utente imposta i valori di pausa per un disco nell'APM BIOS, che quando vengono ecceduti, il BIOS rallenta il disco, senza il consenso dell'OS. Secondo, la logica di APM è integrata nel BIOS, e opera al di fuori lo scopo dell'OS. Questo significa che gli utenti possono riparare i problemi nel loro BIOS APM facendo un flash di una nuova memoria nel ROM; il che è una procedura molto difficile con il pericolo potenziale di lasciare il sistema in uno stato irrecuperabile se fallisce. Terzo, APM è una tecnologia specifica del venditore il che significa che c'è un sacco di duplicazione degli sforzi e bachi trovati nel BIOS di un venditore che non possono essere risolti in altri. In ultima analisi, il BIOS APM non ha abbastanza spazio per implementare una politica sofisticata, o una che può adattarsi molto bene allo scopo della macchina.

Plug and Play BIOS (PNPBIOS) era inaffidabile in molte situazioni. PNPBIOS era una tecnologia a 16 bit, così il sistema operativo doveva usare l'emulazione a 16 bit per “interfacciarsi” con i metodi PNPBIOS.

Il driver APM di FreeBSD è documentato nella pagina di manuale apm(4).

11.15.3 Configurare ACPI

Il driver acpi.ko è caricato di default all'avvio dal loader(8) e non dovrebbe essere compilato nel kernel. Il ragionamento dietro a questo è che è più facile lavorare coi moduli, ad esempio se si passa ad un altro acpi.ko senza fare un rebuild del kernel. Questo ha il vantaggio di rendere il testing più facile. Un altro motivo è che avviare ACPI dopo che un sistema è stato riavviato spesso non funziona bene. Se incontri dei problemi, puoi disabilitare completamente ACPI. Questo driver non dovrebbe e non può essere scaricato perchè il bus di sistema lo usa per diverse interazioni hardware. ACPI può essere disabilitato settando hint.acpi.0.disabled="1" in /boot/loader.conf o al prompt del loader(8).

Nota: ACPI ed APM non possono coesistere e dovrebbero essere usati separatamente. L'ultimo ad essere caricato terminerà se il driver nota che l'altro è già in funzione.

ACPI può essere usato per mettere il sistema in modalità sleep con acpiconf(8), l'opzione -s ed un'opzione 1-5. La maggior parte degli utenti avranno bisogno solo di 1 o 3 (sospensione della RAM). L'opzione 5 farà un morbido shutdown che è la stessa azione di:

# halt -p

Sono disponibili altre opzioni via sysctl(8). Controlla la pagina man di acpi(4) e acpiconf(8) per maggiori informazioni.

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <[email protected]>.
Per domande su questa documentazione, invia una e-mail a <[email protected]>.