LFD432 Optimierung von Linux-Gerätetreibern für mehr Energie-Effizienz

In diesem Kurs erlernen Sie die Entwicklung von Gerätetreibern für Linux-Systeme und entwickeln ein grundlegendes Verständnis des Linux-Kernels. Sie lernen folgendes kennen:

  • Verschiedene Arten von Gerätetreibern in Linux
  • Geeignete APIs zur Verbindung der Geräte (Hardware und Software) mit dem Kernel
  • Erforderliche Module und Methoden zur Entwicklung und zum Debuggen von Linux-Treibern
  • Und vieles mehr

Die im Kurs vermittelten Inhalte lassen sich auf alle großen Linux-Distributionen anwenden.

Voraussetzungen

Dieser Kurs richtet sich an Linux-Entwickler, die lernen wollen, wie man Linux-Gerätetreiber mit robusten Power-Management-Funktionen schreibt. Die Teilnehmer sollten solide Kenntnisse der C-Programmiersprache haben und mit den Grundlagen der Linux-Kernel-Entwicklungsumgebung vertraut sein. Ebenso erforderlich sind Grundkenntnisse des Kernelaufbaus, Erfahrung mit Linux-Gerätetreibern sowie der Entwicklung in einer Linux-Umgebung, wie wir sie in der Schulung Linux-Systemprogrammierung vermitteln.

.

Inhalt

  1. Einführung
  2. Methoden und Dokumentation
  3. Überblick über das Power-Management
  4. Power-Management aus Sicht des Linux-Kernels
  5. Power-Management in Android
  6. Notifier**
  7. Skalierung der CPU-Frequenz**
  8. CPU Idle
  9. Ftrace
  10. Perf
  11. Messen von Leistungsverbrauch und Latenzzeiten
  12. Debugging Leistungsverbrauch
  13. Crash
  14. Kernel Core Dumps
  15. Systemweites Power-Management
  16. Laufzeit-Power-Management
  17. Common Clock Framework **
  18. Regulator Framework **
  19. Retrofit des PM
  20. Optimierung des PM
  21. Zusammenfassung und Ausblick

** Diese Abschnitte können entweder zum Teil oder in vollem Umfang abgehandelt werden. Sie beinhalten z.B. Hintergrundinformationen, spezielle Themen oder fortgeschrittene Themen. Je nach Erfahrungsstand der Teilnehmergruppe oder zeitlichen Gegebenheiten entscheidet der Kursleiter, ob und welchem Umfang diese Abschnitte behandelt werden.