Des Kaisers neue Kleider

Seit der Freigabe der Kernelversion 2.4.0 haben sich die Linux-Entwickler mit dem Nachfolger viel Zeit gelassen. Das Warten hat sich gelohnt: Die Ergebnisse von zwei Jahren Arbeit können sich durchaus sehen lassen.

In Pocket speichern vorlesen Druckansicht 67 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Oliver Tennert

Obwohl es noch nicht lange her erscheint, dass der Kernel 2.4 das Licht von kernel.org erblickte - zumindest dem Autor kommt es fast vor, als wäre es gestern gewesen - sind knapp drei Jahre vergangen, in denen sich die Minor-Versionsnummer nicht geändert hat. Im Januar 2001 erschien Release 2.4.0 und musste anfangs mit vielen Stabilitäts- und damit auch Akzeptanzproblemen kämpfen: Die Entwickler tauschten das Virtual-Memory-Management mittendrin aus, ReiserFS hatte massive NFS-Probleme, ein Release (2.4.11) bekam gar das offizielle Label „dontuse“ verpasst.

Seitdem ist viel Zeit vergangen. Der 2.4er-Kernel ist etabliert und bewährt sich flächendeckend im produktiven Einsatz, sei es auf einer Vielzahl von Heimrechnern, auf hochwertigen Grafik-Workstations oder auf einer rapide zunehmenden Zahl von Compute-Clustern in aller Welt.

Im Dezember 2001 erfolgte die Abspaltung der Entwicklerversion 2.5. In den folgenden zwei Jahren wollten sich sämtliche Kernelentwickler nicht wieder der Kritik ausgesetzt sehen, ein halbfertiges Produkt abzuliefern. Entsprechend heftig ging es oft auf der Kernel-Mailingliste zu, wenn große Veränderungen der Architektur anstanden, etwa bei der Implementierung der LSM-Infrastruktur (Linux Security Modules, [1]) oder des IDE-Subsystems. Viele Neuerungen fanden geradezu auf Drängen der „Masse“ hin den Weg in den Kernel, etwa die POSIX-ACLs (Access Control Lists), deren erklärter Freund Linus Torvalds nie wirklich war.

Zum Redaktionsschluss war 2.6.0-test11 aktuell, doch vermutlich noch im Dezember wird die endgültige Version 2.6.0 erscheinen. Linus Torvalds hat angekündigt, nur noch dringende Bugfixes zu akzeptieren. Er legte die weitere 2.6-Pflege in die Hände von Andrew Morton, um sich selbst der nächsten Kernelgeneration zu widmen.

Mit 2.6 hat wieder einmal die Zahl der von Linux unterstützten Plattformen kräftig zugelegt, von Embedded-Systemen bis zu großen Servern: Aus dem µC-Linux-Projekt entstand die Unterstützung einer Vielzahl von Mikrocontrollern, die oft nicht einmal eine Speicherverwaltungseinheit und damit kein virtuelles Speicherkonzept besitzen. Hierzu zählen unter anderem die neueren m68k-Prozessoren, wie sie sich in einigen Handhelds finden. Auf der anderen Seite stehen aktuelle 64-Bit-Architekturen wie AMD64, IA64 oder Sparc64, auf denen mittlerweile auch der 2.4er-Kernel funktioniert.

Viele neue Geräteklassen haben Unterstützung gefunden: ein neuer, wesentlich robusterer und umfangreicherer ACPI-Code, USB 2.0 und USB-Gadgets, IPMI-Treiber für Service-Prozessoren moderner Serverboards, Unterstützung für Plug-and-Play-BIOSe sowie für einige BIOS-Erweiterungen. Dazu gehört beispielsweise das Enhanced Disk Device Polling (EDD), um dem BIOS während der Laufzeit Informationen über bootfähige Geräte zu entnehmen oder das Simple Boot Flag (SBF), das man nach einem erfolgreichen Betriebssystemstart setzen kann, um beim nächsten Mal einen umfangreichen Power-On-Self-Test zu unterbinden.

Bei Video4Linux schrieben die Entwickler die API weitgehend um, sie heißt jetzt v4l2. Programme wie xawtv oder kwintv in neueren Versionen arbeiten bereits damit zusammen. Die Neuimplementierung des IDE-Layers war eine nervenraubende Angelegenheit, letztendlich integrierten man den ebenfalls neu gestalteten Code aus der 2.4er-Linie in den 2.6er-Kernel. Das ide-scsi-Modul funktioniert zwar mangels Maintainer nicht vollständig, das ist aber nicht weiter tragisch, denn das Brennen von CDs und DVDs kann (und sollte) nun direkt inklusive Benutzung von DMA über das ATAPI-Interface erfolgen - neueste cdrtools- oder cdrdao-Pakete vorausgesetzt. Auch das Rippen von Audio-CDs nutzt jetzt DMA, was einen deutlich höheren Durchsatz erlaubt.

isdn4linux ist obsolet, mittelfristig wird Linux nur noch CAPI-2.0 unterstützen. LM-Sensors ist hingegen nun fester Bestandteil des Kernels. Allerdings exportieren die Module ihre Informationen nicht mehr ins /proc-, sondern in das neue sysfs-Dateisystem.

Einige Mobile-Prozessoren lassen sich dynamisch heruntertakten - bei Intel-CPUs via Speedstep, bei AMD dank Power Now. 2.6 bietet ein Interface zu diesen Funktionen, die beispielsweise der ständig den Batteriezustand überwachende User-Space-Dämon cpufreqd nutzen kann.

Was sich bei Linux unter anderem in Sachen Gerätemodell, Memory Management, oder Netzwerk im Detail geändert hat, steht in der Printausgabe der iX. Der Artikel "Brandmauer" beschreibt das Aufsetzen einer sicheren Linux-Firewall. (avr)