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.
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.
Mit Big-Little spendiert ARM Limited der Welt der Multicore-Architekturen eine neue, energiesparende Technologie. Die hat einen umfangreichen Umbau des Linux-Scheduling angestoßen – denn auch bei ARM-Prozessoren geht es nicht mehr allein um Performance.









