Linux 3.10: Juni im Kernel-Rückblick

Anzeige:

Der Linux-Kernel ist im Juni in der Version 3.10 erschienen. Die Entwicklung bildet die Basis aller zukünftigen GNU/Linux-Distributionen wie Suse, Debian, Ubuntu und Red Hat Enterprise Linux. Mathias Menzer durchleuchtet die Linux-Updates des vergangenen Monats.

Karte des Linux-Kernels. (pd)

Die Karte des Linux-Kernels. (pd)

Die vierte Entwicklerversion (RC4) von Linux 3.10 kam zu Beginn des Juni still und heimlich für die Beobachter der Kernel-Webseite. Torvalds machte sie zuerst über Git zugänglich – der Software zur verteilten Versionsverwaltung. Der Patch wurde erst einige Zeit später auf der Kernel-Seite veröffentlicht. In dieser Version wurde die Methode für die Validitätsprüfung von Datei-Headern im Dateisystem «XFS» verändert. Normalerweise würde dies Probleme heraufbeschwören. Die Funktion ist aber noch als experimentell gekennzeichnet und sollte sich nirgends im produktiven Einsatz befinden.

Fehler in KVM und Bison sind korrigiert

Die fünfte Entwicklerversion (RC5) konnte wieder mehr Änderungen aufweisen, darunter Korrekturen an der Binär-Schnittstelle der Virtualisierung-Software KVM. Bei RC6 wurden zumeist Kleinigkeiten korrigiert. Eine Korrektur für die neue Bison-Version sticht heraus. Bison ist ein freier universeller Parsergenerator aus dem GNU-Projekt. Bison übersetzt eine Grammatikbeschreibung einer kontextfreien Grammatik in ein C-, C++– oder Java-Programm, das eine Serie von Tokens parsen kann, deren Aufbau dieser Grammatik folgt (sogenannter LALR-Parser). In Linux wird Bison für Modifikationen von C-Quelltext benötigt. Linux 3.10-RC7 fiel bereits sehr viel unspektakulärer aus, sodass Torvalds bereits die Absicht verkündete, die Entwicklung abschliessen zu wollen. Unter den 160 Beiträgen haben die Entwickler ein Speicherleck beseitigt.

Anzeige:

14’000 Beiträge für Linux 3.10 

Insgesamt war dies unspektakulär genug, um Linux 3.10 am 30 Juni zu veröffentlichen. Die Entwicklungsdauer betrug nur 62 Tage und damit findet sich diese Version unter den am schnellsten gereiften Linux-Kernels. Dennoch erreicht er mit über 14’000 Beiträgen, sogenannte «Commits», die Spitze der 3er-Reihe. Im Durchschnitt wurden über 200 Änderungen pro Tag aufgenommen. Dies zeigten Kroah-Hartmans Statistiken. Im Vergleich zur Version 3.6, die Ende September 2012 erschien, ist die Durchschnittsrate von damals sechs Änderungen pro Stunde im Juni 2013 auf neun Änderungen pro Stunde angestiegen. Es bleibt abzuwarten, ob diese recht hohe und stetig wachsende Frequenz weiter besteht.

Neue Funktion: Tickless Multitasking

Die Neuerungen in Linux 3.10 sind trotz der kurzen Entwicklungsdauer umfangreich. Die am häufigsten hervorgehobene Änderung ist das neue «Tickless Multitasking» (auch: «Timerless Multitasking» oder «Full Dynticks»). (Lesen sie mehr dazu im Artikel: Linux fördert Frauen: Mai im Kernel-Rückblick). Hier wurde die Notwendigkeit für Zeitsignale eliminiert, die den Prozessor bislang dazu anhielten, einen Prozess zugunsten von anderen zu stoppen und ermöglichte dadurch die zeitgleiche Bearbeitung mehrerer Aufgaben – Multitasking genannt. Diese Signale erfolgten typischerweise 1’000 Mal pro Sekunde und unterbrachen damit auch tiefe Schlafzyklen des Prozessors, selbst wenn keine aktiven Prozesse anstanden. Seit einigen Jahren bereits schweigt der Timer, wenn sich das System im Leerlauf befindet.

Neu sendet der Timer in aktuellen Linux-Version selbst dann keine Signale, wenn das System aktiv ist. Doch derzeit gibt es noch Einschränkungen. Zum einen wird immer noch mindestens ein Signal pro Sekunde gesendet und zum anderen werden die «Timeticks» wieder zugeschaltet, sobald der Prozessor mehr als einen Task ausführt. In Mehrprozessorsystemen muss ein Prozessor den Timer aktivieren, wenn die anderen «tickless» arbeiten sollen.

Neue Funktion: Bcache

Eine weitere grosse Neuerung ist eine neue Zwischenschicht für blockorientierte Geräte. «Bcache» bindet herkömmliche Festplatten und mboxSSDs zusammen und simuliert nach oben einen Datenträger, der ganz normal genutzt werden kann. Hieraus ergeben sich einige Vorteile: da grosse und günstige Harddisks als zuverlässige und erprobte Speichermedien dienen und schnelle, aber teure Solid State Disks als Zwischenspeicher gleichzeitig viel Speicherplatz als auch schnelle Zugriffe ermöglichen, insbesondere beim Schreiben. «Bcache» soll sich sowohl für Arbeitsplatz-Rechner, als auch Server oder sogar komplette Speichersysteme eignen.

XFS wird sicherer

Nicht schneller oder grösser, sondern sicherer soll XFS werden. Prüfsummen für Metadaten ermöglichen nun, diese zuverlässig zu überprüfen. Diese Prüfungen sollen so ausgelegt sein, dass sie auch bei grossen Dateisystemen innerhalb einer vernünftigen Zeitspanne durchgeführt werden können. Dafür wurde das Format der Metadaten geringfügig geändert, dass jedem Objekt eine zusätzliche Information hinzugefügt wurde.

Virtualisierung für MIPS-Rechner

Die Virtualisierungslösung KVM (Kernel-based Virtual Machine) hat den Weg zur MIPS-Architektur gefunden, die damit zum Gastgeber für virtuelle Maschinen werden kann. Derzeit lassen sich noch keine Mehrprozessorsysteme virtualisieren und eine Gleitkomma-Erweiterung kann nicht emuliert werden, sondern wird über das Gastsystem zur Verfügung gestellt. MIPS-Prozessoren finden sich in allerlei möglichst unsichbaren Kleincomputern, sogenannten «Embedded Systems», von Netzwerk-Geräten im Unternehmens- und Heim-Bereich ebenso wie in Unterhaltungsgeräten.

Fehler für UEFI-Notebooks ist behoben

Die Korrekturen für den Fehler, der auf UEFI-Notebooks von Samsung und anderen Herstellern durch die Verwendung von Linux zu einem zerstörten BIOS führte, wurden in grossem Stil überarbeitet. Mit einem Trick soll nun verhindert werden, dass ausserhalb des erlaubten Speichers Variablen abgelegt und so Bestandteile der Firmware überschrieben werden können.

Der Entwickler Matthew Garrett konnte diesen Patch erfolgreich auf mehreren Geräten testen. Ironischerweise stand ihm jedoch kein Samsung-Notebook zur Verfügung, die ja als erstes von dem Problem betroffen waren. Allerdings findet sich die Änderung auch schon seit in Linux 3.9, der einige Nutzer mehr aufweist, eventuell auch Besitzer betroffener Samsung-Laptops.

Komplette Entwicklung von Linux 3.10

Eine Übersicht über die Neuerungen von Linux 3.10 bietet die englischsprachige Seite Kernel-Newbies. Dort ist auch eine recht lange Liste der Änderungen im Bereich der Treiber und der Architekturen zu finden.

Weitere, weniger auffällige Entwickliungen sind zum Beispiel Verbesserungen verschiedener Locking-Mechanismen, die zum Sperren von Teilen des Kernels notwendig sind, um Konflikte bei der Verwendungen von System-Ressourcen durch Prozesse zu verhindern.

(Mathias Menzer)

Creative Commons Lizenzvertrag

The following two tabs change content below.
Mathias Menzer
Mathias Menzer behält die Entwicklung des Linux- Kernels im Blick, um über kommende Funktionen von Linux auf dem Laufenden zu bleiben und immer mit interessanten Abkürzungen und komplizierten Begriffen dienen zu können.