Die Woche: Linux wird 3.0

Mit dem Kernel 3.0, der im Sommer ansteht, geht Linux in sein drittes Jahrzehnt. Der Sprung von 2.6.39 auf 3.0 ist allerdings viel kleiner, als die Zahlen vermuten lassen.

In Pocket speichern vorlesen Druckansicht 22 Kommentare lesen
Lesezeit: 5 Min.

Es ist beschlossene Sache: Mit der ersten Vorabversion des nächsten Kernels hat Linus Torvalds erklärt, "die Nummern würden zu groß", und Linux 2.6.40 kurzerhand in Linux 3.0 umbenannt. Das nächste Release, fertig vermutlich Ende Juli, werde ungefähr am zwanzigsten Geburtstag des Linux-Kernels erscheinen, das sei Grund genug für eine neue Version 3.0, so Torvalds. Wann Linux Geburtstag hat, weiß sowieso niemand ganz genau – der "offizielle" 25. August 1991 ist nur eine von mehreren Optionen. Rechnen Sie ab Anfang Juli mit den ersten "Linux wird 20"-Berichten ...

Wichtiger als die Frage nach dem Geburtstag von Linux ist allerdings, dass Linux 3.0 kein neues Major Release des Linux-Kernels ist. Torvalds sagt das sehr deutlich: Es gibt in Linux 3.0 absolut keine aufregenden Neuerungen, keine Änderungen an den Schnittstellen, keine wichtigen neuen Features – Linux 3.0 ist ein ganz normales Kernel-Update, wie es die Kernel-Entwickler seit über sieben Jahren alle zwei bis drei Monate veröffentlichen, mit einigen neuen und aktualisierten Treibern und ein paar kleineren Änderungen in diesem oder jenem Kernel-Subsystem. Wie üblich wird das Kernel Log auf heise open in den nächsten Wochen in einer Serie "Was 3.0 bringt" über die Neuerungen berichten.

Der große Sprung in der Nummer bei den üblichen kleinen Verbesserungen im Kernel zeigt deutlich, in wie ruhiges Fahrwasser die Entwicklung des Linux-Kernels mittlerweile gekommen ist. Das sah früher anders aus: Da standen neue Major Releases für wesentliche Fortschritte, die grundlegende Veränderungen brachten – und nicht selten Durcheinander in der Umstellungsphase.

Schon Linux 1.0, erschienen im März 1994 nach einer langen Folge von 0.99.x-Versionen, führte einen Entwicklungsmodus ein, der sich zehn Jahre lang halten sollte: Parallel zur behutsamen Weiterentwicklung des stabilen Anwenderkernels mit gerader Versionsnummer (1.0) werden neue Features in einem Entwicklerkernel (1.1) implementiert, der mit der Codebasis das Anwenderkernels startet und letztlich in einer neuen Major Version mündet.

Die Arbeit an Linux 1.1 dauerte ein Jahr, dann erschien im März 1995 der Kernel 1.2 – und brachte als große Neuerung die ersten Portierungen auf andere Prozessorarchitekturen als x86: Alpha, Mips und SPARC. Nicht, dass diese Plattformen für die Verbreitung von Linux wahnsinnig große Bedeutung erlangt hätten; aber sie legten den Grundstock für die Hardwareunabhängigkeit des Linux-Kernels, ohne die es heute weder Android-Smartphones noch Linux für Mainframes geben würde.

Der dickste technische Brocken während der Arbeit am Entwicklerkernel 1.3 war die Multiprozessor-Unterstützung. Für Torvalds war das ein so wichtiger Meilenstein, dass der erste SMP-fähige Anwenderkernel im Juni 1996 gleich den Sprung auf Version 2.0 machte – angesichts der aktuellen Multi-Core-Prozessoren eine ganz richtige Einschätzung. Parallel startete die Entwicklung von Linux 2.1 mit dem Ziel, den Rückstand auf die kommerzielle Unix-Konkurrenz aufzuholen: Linux 2.2 lief im Januar 1999 vernünftig auf SMP-Maschinen mit zwei bis vier Prozessoren, konnte auch viel Speicher effizient verwalten, unterstützte IPv6, enthielt leistungsfähigen Firewall-Code und brachte Portierungen auf die klassischen Unix-Plattformen UltraSPARC und PA-RISC.

Linux 2.4 setzte diese Entwicklung im Januar 2001 mit besserer Skalierung bei vielen Prozessoren und RAM, einem 64-Bit-Dateisystem und einer verbesserten Firewall, aber auch USB- und erster ACPI-Unterstützung sowie dynamisch angelegten Gerätedateien fort. Grund für das den Versionssprung waren allerdings weniger die Änderungen im Kernel (die waren gegenüber 2.2 gar nicht so grundlegend), sondern die Ankündigung Torvalds, im Jahrestakt neue Kernel-Hauptversionen veröffentlichen zu wollen – auch wenn die Arbeit am Entwicklerkernel 2.3 bis zur Veröffentlichung von Linux 2.4 letztlich zwei Jahre dauerte.

Im Dezember 2003 machte Linux den letzten großen Sprung auf 2.6. Linux 2.6 steht für eine grundlegende Überarbeitung des Kernel-Codes, die Linux nicht nur ein neues, über Sysfs zugängliches Gerätemodell und eine für moderne Hochleistungsrechner taugliche Speicherverwaltung beschert hat, sondern auch viele Limits beseitigt und den Code insgesamt übersichtlicher gemacht hat. Davon zehren die Entwickler bis heute: Selbst komplett neue Funktionen wie Virtualisierung und eine in jeder Hinsicht verbesserte Skalierung, dank der Linux auch auf den leistungsfähigsten Supercomputern läuft, ließen sich ohne große Verwerfungen einbauen.

Linux 2.6 hat nämlich den Entwicklungsmodus des Kernels grundlegend geändert: Der Entwicklerkernel ist ersatzlos gestrichen; neue Features, Umbauten und Verbesserungen fließen nach und nach in Updates des aktuellen Kernels ein, die regelmäßig alle zwei bis drei Monate erscheinen. An die Stelle von Versionssprüngen, die immer wieder zu Durcheinander in der Umstellungsphase führten, ist so ein stetiger Fortschritt getreten – ohne Sensationen, aber auch ohne Stress für die Linux-Anwender. Linux 3.0 wird daran nichts ändern. (odi) (odi)