Governor

Aus Android Wiki
Wechseln zu: Navigation, Suche

Der Governor ist ein Treiber, welcher die Taktfrequenz der CPU regelt. Durch verschiedene Governor kann man bestimmen, wie sich die CPU-Taktfrequenz verhält. Unter anderem gibt es Governor, die stufengebunden die Frequenz regeln, wobei die Frequenz schrittweise ohne das Überspringen einer Frequenzstufe angepasst wird. Beim Stufenlosen regeln, kann der Governor theoretisch von jeder Frequenz in jede Frequenz takten, ohne Zwischenschritte einzustellen. Die Einstellung des Governors bestimmt signifikant die Ausrichtung auf Performance oder Akkulaufzeit.

Funktion[Bearbeiten | Quelltext bearbeiten]

Der Governor entscheidet wann und wie lange die CPU mit welcher Taktfrequenz rechnet[1][2][3]. Das heißt, dass dieser Treiber grundlegend entscheidet, wie lange die CPU zum Beispiel die maximale Taktfrequenz behält, oder sich nach einer Last wieder in die minFreq einstellt. Somit ist der Governor entscheidend, wenn es um die Akkulaufzeit geht, da ein hoher Nachlauf nach einer Last einen höheren Akkuverbrauch bedeutet.

Arten[Bearbeiten | Quelltext bearbeiten]

In diesem Artikel oder Abschnitt fehlen wichtige Informationen. Hilf DroidWiki, sichte die Diskussion und recherchiere in deinen Quellen zu dem Thema Governor und füge die Informationen ein, aber bitte kopiere keine urheberrechtlich geschützten Inhalt in diesen Artikel.

Es gibt insgesamt 23 Governor Arten.

Ondemand[Bearbeiten | Quelltext bearbeiten]

Der Ondemand Governor hat keine Profile, unterstützt also keine Screen-Off Einstellung oder ähnliche, ist aber für einen guten Kompromiss zwischen Akkusparsamkeit und Leistung gut geeignet, reagiert bei Eingaben aber oft mit Maximum-Spitzen.

OndemandX[Bearbeiten | Quelltext bearbeiten]

Ähnlich dem Ondemand Governor bringt dieser den Vorteil mit, dass er von Hause aus Profile beim An- und Abschalten des Displays mitbringt. Wird das Display ausgeschaltet, ist die maximale Frequenz 500 MHz, dies soll den Governor sehr stromsparend machen. Auch wenn der Ondemand in vielen Kerneln verwendet wird, ist der Support des OndemandX Governor's abhängig davon, ob die CPU das schnelle Wechseln der Frequenz unterstützt oder nicht.

Ondemandq[Bearbeiten | Quelltext bearbeiten]

Wie Ondemand, nur für Quad-Core optimiert.

Powersafe[Bearbeiten | Quelltext bearbeiten]

Der Powersafe Governor ist für den täglichen Gebrauch denkbar ungeeignet. Hier ist die max-Frequenz gleich der min-Frequenz, das bedeutet, dass dieser Governor gar nicht in der Frequenz ändert sondern immer die min-Freq nutzt. Stellt man die Frequenz auf eine halbwegs gute Performance ein (zum Beispiel 700-800 MHz), so hält der Governor diese Frequenz durchweg, auch wenn keine Eingaben getätigt werden, oder der ScreenOff-Modus eingetreten ist. Stellt man eine niedrige Frequenz ein (zum Beispiel 192-256 MHz) kann es dazu führen, dass das Smartphone gar nicht mehr oder nur noch sehr langsam reagiert.

Userspace[Bearbeiten | Quelltext bearbeiten]

Dieser Governor erlaubt es jeder ausgeführten Anwendung, sofern sie vom Benutzer ausgeführt wird, die CPU-Frequenz anzupassen, also entweder zu erhöhen oder zu reduzieren. Dies ist bspw. bei Server-Systemen sinnvoll, bei welchen die Anwendungen die Berechtigung benötigen, dies zu tun, ist aber eher selten der Fall bei mobilen Betriebssystemen.[4]

Conservative[Bearbeiten | Quelltext bearbeiten]

Dieser Governor regelt die Frequenz, wie der Ondemand, bis auf das Maximum. Das Maximum wird allerdings bei einer Eingabe nicht sofort eingestellt, sondern schrittweise bis zum Maximum erhöht. Das schont den Akku, man muss aber erhebliche Abstriche bei der Performance machen.

Performance[Bearbeiten | Quelltext bearbeiten]

Dieser Governor ist das genaue Gegenteil des Powersafe. Hier ist die min-Freq gleich der max-Freq, es wird also immer bis auf das eingestellte Maximum getaktet. Dies ist für die Performance ein enormes Plus, geht aber enorm auf die Akkulaufzeit, sodass man hier erhebliche Abstriche machen muss. Auch dieser Governor ist für den täglichen Gebrauch nicht zu empfehlen.

Interactive[Bearbeiten | Quelltext bearbeiten]

Der Interactive Governor ist im Grunde genommen wie der Ondemand. Allerdings regelt der Interactive nicht anhand der Prozesswarteschlange, sondern anhand der durch die Application geforderten Rechenpower.

InteractiveX[Bearbeiten | Quelltext bearbeiten]

Dieser Governor ist im Grunde der gleiche wie der Interactive mit einer besseren Balance zwischen Power und Akkulaufzeit. Zudem wird die CPU beim Screen-Off auf die min-Freq getaktet.

Smartass[Bearbeiten | Quelltext bearbeiten]

Auch hier wird beim Screen off die max-Freq auf die min-Freq geregelt.

Smartassv2[Bearbeiten | Quelltext bearbeiten]

Bei der Weiterentwicklung vom Smartass wird beim Ausschalten des Displays "hart" auf die min-Freq skaliert. Beim EInschalten wird schnell auf bis zu 500 MHz geregelt. Dadurch wird eine nahezu ideale Balance zwischen Akkulaufzeit und Performance verfolgt.

Min Max[Bearbeiten | Quelltext bearbeiten]

Hier wird nur die Min- und Max-Frequenz beachtet und anhand der benötigten Last getaktet. Hier werden keine Profile und nichts weiter unterstützt.

Scary[Bearbeiten | Quelltext bearbeiten]

Dieser Governor ist ähnlich dem Conservative mit einigen Features des Smartass-Governors. Wenn Leistung benötigt wird, taktet der Governor schrittweise hoch, taktet aber abrupt die Frequenz runter. Die Maximale Frequenz, wenn der Bildschirm ausgeschalten ist, beträgt 245 MHz, wenn die Min-Frequenz höher als 245 MHz ist, stellt der Governor beim ScreenOff die Min-Frequenz auf 120 MHz ein und stellt den Ursprungswert wieder her, wenn der Bildschirm an geht. Das Ziel dabei ist es, möglichst Lange auf der geringsten Frequenz zu verharren, sodass der Spagat von bestmöglicher Akkulaufzeit bei bestmöglicher Performance gelingt.

Lagfree[Bearbeiten | Quelltext bearbeiten]

Lagfree ist im Grunde gleich dem Ondemand. Hauptunterschied ist die Optimierung für eine bessere Akkulaufzeit, die Frequenz wird stufenweise erhöht oder verringert, 100%-Spitzen, wie beim Ondemand bleiben aus, da keine Frequenzstufe übersprungen wird. Zu beachten ist, das ein schnelles Umschalten auf volle Power nicht möglich ist, da der Governor erst jede Frequenzstufe durchgehen muss. Manche User berichten von Ruckler bei der Videowiedergabe.

Smoothass[Bearbeiten | Quelltext bearbeiten]

Die gleichen Eigenschaften wie der Smartass, aber noch aggressiver und laut Aussagen des XDA-Forums eine deutlich bessere Akkulaufzeit als bei einem Stock-Kernel.

Brazilianwax[Bearbeiten | Quelltext bearbeiten]

Ähnlich dem Smartassv2, allerdings aggressiveres und schnelleres Umschalten zwischen den Taktfrequenzen, dadurch mehr Power, aber geringere Akkulaufzeit.

SavagedZen[Bearbeiten | Quelltext bearbeiten]

Ein weiterer smartassv2 basierter Governor, bessere Balance zwischen Performance und Akkulaufzeit als beim brazilianwax.

Lazy[Bearbeiten | Quelltext bearbeiten]

Dieser Governor ist auf der Basis des Ondemand entwickelt, mit einem weiteren Konfigurationswert min_time_state, welche die mindest-Zeit festlegt, die die CPU auf einer Frequenz verharren muss, bevor erneut umgetaktet (hoch oder runter) werden kann. Dadurch sollen Instabilitäten, die beim schnellen Wechseln der Frequenz auftreten können, vermieden werden. Ein weiterer Paramter, screenoff_maxfreq, bestimmt, dass beim ScreenOff immer die MaxFreq getaktet werden soll.

Lionheart[Bearbeiten | Quelltext bearbeiten]

Dies ist ein Conservative-basierter Governor, welcher zudem auf Samsungs Update3 Source Code basiert. Die Einstellungen wurden so verändert, das der Governor mehr in Richtung Performance taktet, auf Kosten der Akkulaufzeit.

LionheartX[Bearbeiten | Quelltext bearbeiten]

Basiert auf dem Lionheart Governor hat allerdings ein paar Änderungen in den anpassbaren Parametern und bietet Profile aus dem Smartass Governor.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Einzelnachweis[Bearbeiten | Quelltext bearbeiten]

  1. http://www.android-hilfe.de/kernel-fuer-samsung-galaxy-s2/180437-faq-governors-schedulers.html
  2. http://forum.xda-developers.com/showthread.php?t=1663809
  3. http://forum.xda-developers.com/showthread.php?t=2017715
  4. {{#invoke:Zitation|TitelFormat|titel=Android CPU governors explained}} In: {{#invoke:Zitation|TitelFormat|titel=Android Forums}} Abgerufen am {{#invoke:Vorlage:FormatDate|Execute}}.{{#invoke:TemplatePar|check |all= url= titel= zugriff= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= archiv-url= archiv-datum= kommentar= zitat= offline= |cat= Projekt:Vorlagenfehler/Vorlage:Internetquelle |template= Vorlage:Internetquelle }}