Mit Kernel 4.8 stellt Linus Torvalds die Kerneldokumentation auf die leichtgewichtige Markup-Sprache Restructuredtext um. Das Ganze ist kein fauler Kompromiss, sondern soll bei gleichem oder gar geringerem Dokumentationsaufwand im Quelltext bessere Ergebnisse liefern.
Zeit exakt zu messen und definierte Pausen zu verordnen, das gehört zum Wesen von Realtime-Betriebssystemen. Aber auch universelle Betriebssysteme brauchen gute Timer- und Delay-Prozeduren. Welche Funktionen mit welcher Auflösung und Genauigkeit Linux bietet, ist Thema dieser Kern-Technik.
Beim DMA-Transfer klemmt sich die CPU vom Bus ab und überlässt einem DMA-Controller die Regie, der Datenblöcke effizienter kopiert als sie selbst. Der Programmierer muss etwas Basiswissen über Speicherverwaltung, Adressvarianten und Cache-Kohärenz vorweisen. Nach dieser Kern-Technik kann er das.
Zwar kann der Linux-Kernel SSDs der Einfachheit halber wie konventionelle Festplatten ansprechen, schöpft damit die mechanikfreien Blockgeräte aber nicht annähernd aus. Seit einem Umbau ist Linux bereit für die neue Technik. Mehr noch: Die Entwickler würden gern den Job der Firmware übernehmen.
Ein ausgeklügeltes Framework verwaltet das Abarbeiten asynchroner Codesequenzen im Linux-Kernel: Kworker-Threads. Was sie sind, wie sie arbeiten und wer die Arbeitstiere für seine Zwecke einspannen darf, erklärt die neueste Folge der Kern-Technik.
Kritische Code-Abschnitte, bei deren paralleler Abarbeitung Inkonsistenzen entstehen können, müssen geschützt werden. Die Informatik kennt dafür mehrere geeignete Verfahren, die meisten produzieren aber Overhead oder gar Deadlocks. Beim vergleichweise neuen RCU ist das anders.
Viele Linuxer wissen nicht um die Gefährlichkeit von Kernelmodulen, deren Herkunft und Integrität nicht 100-prozentig gesichert ist. Noch weniger bekannt ist, dass sich eigene Systeme mit signierten Kernelmodulen gegen Codemanipulationen schützen lassen – vorausgesetzt man macht es richtig.
Interrupts informieren die CPU über externe Ereignisse und im Kern warten passende Interrupt-Service-Routinen. Programmieren und testen lässt sich das Ganze prima auf einem Raspberry Pi.
In Hardware implementierte Performance-Zähler sind nicht nur bei x86-Prozessoren gängig, sondern auch in ARM-CPUs. Der Raspberry Pi eignet sich hierfür als – etwas störrisches – Testobjekt.
Nur ausgewiesene Echtzeitbetriebssysteme konnten bislang mit einem "Earliest Deadline First Task"-Scheduler protzen. Seit Kernel 3.14 steht das überlegene CPU-Zuteilungsverfahren auch Linux-Nutzern zur Verfügung. Gegenüber dem prioritätengesteuerten Verfahren hat es einige Vorteile.
Am Raspberry Pi lassen sich preiswerte Sensoren und Aktoren sehr einfach über das Serial Peripheral Interface (SPI) anschließen. Linux bringt das passende Subsystem und Treiber mit.
Über das Proc-Filesystem lassen sich leicht aktuelle Daten zwischen System und Anwender austauschen. Dazu liest und schreibt man einfach in ein File. Dieser Mechanismus eignet sich auch, um erste Schritte der Kernelprogrammierung zu demonstrieren.
Ubuntu bringt von Haus aus Kernel mit, die für die meisten Einsatzzwecke taugen. Die aktuelle Version 14.04 der Distribution eignet sich aber auch für erste eigene Versuche mit dem Konfigurieren, Übersetzen und Installieren des Linux-Kerns.
Die Ktap-Runtime-Library ermöglicht detaillierte Einsichten in den Linux-Kernel und eigene Treiber. Das Programmieren von Skripten im Ktap-eigenen Lua-Dialekt ist zum Glück leicht zu erlernen.
Das Tracing-Werkzeug Ktap hilft Admins und Kernelentwicklern bei Tuning und Fehlersuche. Diese Kern-Technik zeigt die ersten Schritte mit dem Interpreter im Kernel.














