Android dalla A alla Z: cos'è il governor della CPU?

Nicola Ligas
Nicola Ligas Tech Master
Android dalla A alla Z: cos'è il governor della CPU?

Il governor della CPU è una sorta di profilo che  "governa" il modo in cui il processore reagisce al variare del carico di lavoro, sulla base di opportune policy che poi andranno a differenziare tra loro i vari governor. La scelta di quale utilizzare viene effettuata direttamente dal produttore, e non è possibile modificarla a meno di ricorrere ai permessi di root; è possibile inoltre scegliere la soglia di frequenza, minima e massima, a cui la CPU andrà ad operare, che si ripercuoterà poi sul comportamento del governor.

I governor disponibili sono moltissimi, ma tra i più noti annoveriamo i seguenti:

  • OnDemand/Interactive: il clock della CPU varia in maniera direttamente proporzionale al carico; la differenza tra i due è che Interactive è un po' più rapido nel reagire e mantiene la frequenza massima un po' più a lungo, rendendolo più efficiente dal punto di vista delle performance, mentre la differenza in termini di autonomia non dovrebbe essere molto percettibile.
  • Powersave/Conservative: cercano di mantenere il clock della CPU il più basso possibile, anche in seguito alle richieste del sistema (in particolare il Powersave lo terrà sempre alla frequenza minima stabilita). L'idea è ovviamente quella di risparmiare batteria, ma è anche vero che con un clock inferiore i vari task rimarranno in esecuzione più a lungo, e questo potrebbe in alcuni casi produrre consumi maggiori che se avessimo alzato di più la frequenza per completarli anzitempo. Inutile dire poi che le performance del sistema risulteranno minori.
  • Performance: come suggerisce il nome, non si cura del risparmio, ed eleva la frequenza al massimo, per poi andare in uno stato a basso consumo a task completato. Idealmente, in caso di tanti picchi ripetuti il dispendio energetico è maggiore, nel caso di un minore lavoro avremo un sistema più rapido e durata della batteria non compromessa, perché comunque i task vengono completati in tempo minore.

L'elenco continuerebbe, ma non tutti i governor vengono implementati su Android; per un elenco più esaustivo, che esula anche dal robottino, potete consultare questo thread su XDA