ubuntuusers.de

Was den Ozelot antreibt: Ein Blick auf den Kernel

ubuntu_old.png

Morgen wird die Veröffentlichung von Ubuntu 11.10 erwartet. Viele der Änderungen liegen unter der (Benutzer-) Oberfläche verborgen wie zum Beispiel der Kernel. Dessen interessanteste Neuerungen sollen hier beleuchtet werden.

Die Ubuntuversion „Natty“ hatte noch Linux 2.6.38 unter der Haube, für den Nachfolger wurde Linux 3.0, die derzeit stabile Version, gewählt. Der Sprung über zwei Kernel-Versionen hinweg scheint klein, es finden sich jedoch – abgesehen vom neuen Schema der Kernel-Versionsnummern – auch einige Funktionen, die auch für den Anwender von Interesse sind.

Die augenscheinlichste Neuerung ist die neue Versionsnummer. Sie hat nur noch zwei Stellen, „3.0“ ist auch etwas eingängiger als „2.6.40“, wie die für Ubuntu 11.10 gewählte Kernel-Version heißen würde, wenn es die Änderung des Nummernschemas nicht gegeben hätte. Bugfix-Versionen werden demzufolge dann drei- statt bisher vierstellig sein, Oneiric wird zuerst mit einem auf 3.0.4 basierenden Kernel veröffentlicht werden.

War diese Änderung eher kosmetischer Natur, geht die Entfernung des Big Kernel Lock tiefer. Der BKL ist ein besonders gieriger Locking-Mechanismus, dessen Beseitigung fast drei Jahre in Anspruch nahm. Zuletzt machten nur noch wenige Treiber vom BKL Gebrauch und er war in der Standard-Konfiguration bereits ausgeschaltet, so auch bereits im 2.6.38, der in Ubuntu 11.04 arbeitet. Oneiric ist nun die erste Ubuntuversion, die gänzlich ohne den BKL daherkommt.

Ebenfalls eine Verbesserung der Leistungsfähigkeit des System bewirkt eine Änderung am Dateisystem ext4, das nun mit dem Block I/O-Layer (Blockweise Ein-/Ausgabe) anstelle des bisher genutzten Buffer Layer (Zwischenspeicher). Letzter kann nicht mit mehreren Kernen gleichzeitig arbeiten, wodurch auf Mehrkern-Systemen Rechenzeit verschenkt wird.

Btrfs, das auch unter Ubuntu als Dateisystem bei der Installation ausgewählt werden kann, erfuhr gleich auf mehreren Wegen eine Aufwertung. So können unterschiedliche Einstellung für die Komprimierung auf Verzeichnisse oder gar Dateien gesetzt werden und damit gleichzeitig ein zügiges Schreiben kleiner Dateien und eine hohe Kompression bei großen Datenmengen erreicht werden. Ab sofort soll eine automatische Defragmentierung der bei Btrfs funktionsbedingten Fragmentierung des Datenträgers entgegenwirken.

Dies kommt daher, dass beim Bearbeiten einer Datei diese an einen freien Block geschrieben wird anstatt den bereits belegten zu überschreiben. Zusätzlich konnten Schreibzugriffe optimiert werden, sodass das Erstellen, Bearbeiten und Löschen von Dateien schneller vonstatten geht. Die Sicherheit der Daten wird mittels Scrubbing gewährleistet, indem bei Checksummen- oder Ein/Ausgabe-Fehlern nach einer fehlerfreien Version der betroffenen Datei gesucht und diese an Stelle der beschädigten kopiert wird.

War es für die Nutzung der Virtualisierungslösung Xen bislang notwendig, den Kernel für die Verwendung als Host-System zu modifizieren, so ist diese Funktion nun bereits im Mainline-Kernel enthalten. Die Unterstützung für dom0, der privilegierten Domäne, die für den Einsatz als Host-System notwendig ist, muss nun nicht mehr vom Kernel-Team selbst eingepflegt werden und auch die Abhängigkeit vom Server-Variante des in Ubuntu verwendeten Kernels ist verschwunden.

Auf der Treiber-Seite unterstützt der Oneiric-Kernel mit dem freien Radeon-Treiber nun auch die Grafik-Komponente der neuen Llano-Prozessoren von AMD, die bereits in ersten Net- und Notebooks zum Einsatz kommen. Auch werden weitere Nvidia-Grafikkarten der Generation nv40 und nv84 (unter anderem GeForce 8600, 8700, 9500, 9650) nun vom nouveau-Treiber unterstützt. Obwohl Linux schon einige Zeit mit dem neuen schnellen USB-Standard 3.0 zurechtkommt, fehlte bislang die Unterstützung für Hubs, mittels derer mehrere Geräte an einem USB-Anschluss des Rechners betrieben werden können. Dieser Missstand wurde zwischenzeitlich behoben, sodass unter Ubuntu 11.10 nun auch die gesamte Palette an USB-3-Geräten nutzbar ist.

Ein paar Wermutstropfen gibt es jedoch auch bei Oneiric; So müssen Anwender, deren Prozessoren auf der Sandy-Bridge-Mirkoarchitektur basieren, darunter fallen neuere Intel Core-i-Modelle, mit einem höheren Stromverbrauch und damit bei Notebooks geringerer Reichweite des Akkus leben. Ursache sind hier Änderungen am Grafiktreiber, der den besonders tiefen Schlafzustand RC6 der Grafikkomponente nutzen soll. Der zugehörige Bug-Report enthält zwar schon einen Workaround 🇬🇧, die Korrektur des Problems steht jedoch noch aus. Daneben berichten auch einige Anwender, dass der Startvorgang länger dauere als bei Ubuntu 11.04 und erfahren durch Michael Larabel von Phoronix Bestätigung 🇬🇧. Auch scheint sich ein alter Fehler, der bereits bei Natty auftrat, in Oneiric breit zu machen. Der Bug Power consumption raised significantly in natty, wurde mittlerweile zwar mit „Fix released“ (Korrektur veröffentlicht) markiert, doch zeigten die Tests 🇬🇧 von Phoronix keine Verbesserung. Auch hier ist der Übeltäter ironischerweise eine Funktion, die eigentlich den Energiebedarf des Systems reduzieren sollte, in diesem Fall Active State Power Management für PCI Express, das jedoch unter Umständen Schlafzustände des PCI-Bus verhindert anstatt sie herbeizuführen.

Letztlich ist dies nur ein kleiner Einblick in die umfangreichen Neuerungen, die der Linux-Kernel seit der Veröffentlichung von Ubuntu 11.04 umgesetzt hat. Das meiste davon ist für den Anwender nicht direkt sicht- oder spürbar. Ein vollständigen Überblick bieten die beiden englischsprachigen Seiten zu den Kernel-Versionen 2.6.39 und 3.0 auf KernelNewbies.org (siehe Quellenangaben).

Quellen: