ubuntuusers.de

Was Pangolin unter den Schuppen hat: Ein Blick auf den Kernel

ubuntu_old.png

Diese Woche ist es wieder soweit - Donnerstag wird eine neue Ubuntuversion veröffentlicht. Precise Pangolin wird wieder einige Neuerungen bereithalten, doch nicht alle sind auf den ersten Blick zu sehen, einige der versteckten Werte sind dem Linux-Kernel zu verdanken. Zeit also, dem Schuppentier unter die Haut zu schauen.

Überblick

Ubuntu 12.04 Precise Pangolin wird wieder eine LTS-Version sein, die über fünf Jahre hinweg unterstützt wird. Die Wahl hätte also auch auf Linux-Kernel 3.0 fallen können, der schon Oneiric antreibt; schließlich war dieser Kernel die aktuelle Longtime-Version, als der Entwicklungszyklus für Precise begann.

Allerdings endet die offizielle Unterstützung seitens der Kernel-Entwickler hierfür auch bereits nach zwei Jahren (2013), so dass das Ubuntu-Kernel-Team trotzdem über den längsten Zeitraum die Pflege selbst hätte bewältigen müssen. Insofern fand sich schon sehr früh der noch in der Entwicklung befindliche Linux-Kernel 3.2 in den Paketquellen für Ubuntu 12.04. Zwischenzeitlich erschien auch schon dessen Nachfolger 3.3 und kurz vor dem Veröffentlichungstermin für Ubuntu 12.04 übergab Greg Kroah-Hartman die Pflege des Kernels 3.2 an den Debian-Entwickler Ben Hutchings. Der wird diesen nun als Longtime-Kernel betreuen, wohl vor dem Hintergrund, dass die kommende Debian-Version 7.0 ebenfalls auf Linux 3.2 setzt.

Varianten

Um jedoch die Pflege während der Lebenszeit von Precise Pangolin trotzdem nicht ausufern zu lassen, wurde die Anzahl der Kernel-Varianten stark eingedämmt. So wird für 32-Bit-Systeme nur noch ein Kernel mit PAE-Unterstützung angeboten und auch der Kernel für Server-Systeme wird eingespart und mit diesem Kernel verschmolzen. Dazu kommt dann noch ein Kernel-Abbild mit 32- und 64-Bit-Ausprägung für virtuelle Gäste in KVM-Umgebungen.

Damit endet auch die Unterstützung von Systemen, die nicht über Physical Address Extension verfügen. Eine Neuinstallation ist auf diesen Systemen nicht möglich, da der auf den ISO-Abbildern befindliche Kernel gar nicht erst startet. Von der Aktualisierung von einer vorhergehenden Ubuntu-Version dagegen muss abgeraten werden, sobald Zweifel an der PAE-Tauglichkeit der Hardware bestehen. Hinweise zu diesem Thema liefert der Kernel-Abschnitt der Wiki-Seite für Ubuntu 12.04.

Altlasten

Das unter Oneiric noch vorhandene Problem mit dem Schlafmodus der Sandy-Bridge-Grafikkomponente ist nun Geschichte. Auch unter Ubuntu wird RC6, ein besonders tiefer Schlafmodus, standardmäßig aktiviert. Der entsprechende Treiber wies unter Ubuntu 11.10 Fehler auf, sodass die Sandy-Bridge-Grafik nicht in den Schlafmodus ging und daher so viel Energie verbrauchte, dass die Akkulaufzeiten entsprechender Notebooks erheblich reduziert wurden.

Ebenfalls in die Sparte „Altlasten“ fällt eine Funktion, die durch die neue Versionsnummerierung des Linux-Kernels notwendig wurde. Einige Anwendungen erwarten „2.6.x“ als Antwort, wenn sie das System nach der Version des Kernels fragen und stürzten konsequent ab, wenn sie stattdessen „3.x“ erhalten. Um dem entgegenzuwirken erhält der Kernel nun mit UNAME26 eine weitere „Persönlichkeit“. Was sich nach Schizophrenie anhört, ist jedoch lediglich das Verhalten einer Anwendungsschnittstelle, die nun eine Versionsnummer zurückliefert, die letztlich eine Fortsetzung der bisherigen Zählung darstellt, also zum Beispiel 2.6.40 anstatt 3.0 oder 2.6.41 statt 3.1 usw.

Dateisysteme

Im Umfeld der Dateisysteme hat sich ebenfalls einiges getan. Arbeitete ext4 bislang mit Speicherblöcken von 4 KB, so kann dieser Wert nun bis zu 1 MB betragen. Hintergrund sind hier die stetig steigenden Größen der Speichermedien, deren Verwaltung mit größeren Blöcken dadurch vereinfacht wird, dass man bei gleichen Speicherplatz weniger Blöcke benötigt. Dies fällt allerdings nachteilig ins Gewicht, wenn viele kleine Dateien abgelegt werden müssen, denn diese belegen mindestens den Platz eines Blocks, wodurch eine mit 10.000 1KB-Dateien beschriebene Festplatte faktisch bereits 10 GB unter „belegt“ verbuchen muss. Demgegenüber erfolgt die Block-Zuweisung etwas schneller und die Fragmentierung fällt nun geringer aus, was sich im ersten Fall positiv auf den Durchsatz beim Schreiben, im zweiten beim Lesen auswirkt.

Das Dateisystem btrfs wird nach wie vor nicht für den Einsatz auf Produktiv-Systemen empfohlen. Da es bisweilen aber als Erbe von ext3/ext4 gehandelt wird, lohnt sich zumindest ein kurzer Blick: So wurde die Integritätsprüfung des Dateisystems gesteigert und die Aussagekraft der Fehlermeldungen bei beschädigten Daten wurde verbessert und gibt nun auch die betroffene Datei an, statt nur den Speicherort auf dem Datenträger. Dazu gibt es nun auch die Möglichkeit, von Hand zu überprüfen, welche Daten in einem bestimmten Inode gespeichert sind bzw. zu welcher Datei sie gehören.

Netzwerk

Gerade, wenn man keinen so schnellen Internetzugang zur Verfügung hat, ist es besonders ärgerlich, wenn dann auch noch die Übertragungsrate von Downloads plötzlich abfällt. Dies kann vorkommen, wenn Netzwerkpakete verloren gehen und der TCP-Stack, der die Datenübertragung zwischen Rechnern kontrolliert und regelt, die Geschwindigkeit drosselt. Dabei wird das „Congestion Window“ verringert, also die Zahl der Pakete, die vom Sender abgeschickt wurden, aber für die noch keine Empfangsbestätigung vorliegt. Bislang halbierte man diesen Wert einfach, wenn Pakete auf dem Dienstweg verloren gingen.

Ein von Google entwickeltes Verfahren namens „Proportional Rate Reduction“ versucht hier etwas intelligenter vorzugehen, indem die Zahl der Pakete „im Flug“ nicht direkt auf die Hälfte reduziert wird, sondern auf einen je nach Situation ermittelten Wert. Hinzu kommt ein beschleunigtes Verfahren, um das „Congestion Window“ wieder zu erhöhen, so dass nach einem kurzen Einbruch der Verbindungsqualität möglichst bald wieder die volle Bandbreite genutzt werden kann. Im Ergebnis fallen Übertragungsfehler nicht mehr so stark ins Gewicht und danach klettert die Übertragungsrate zügig wieder nach oben, solange keine weiteren Fehler auftreten.

Spielerei

Wie viel Nutzen sich dahinter verbirgt, muss sich noch zeigen, doch seit Linux 3.1 verfügt der Kernel über den Treiber wiimote und kann somit auch die Wii-Fernbedienung als Eingabegerät nutzen. Damit hat es eines der neuen Bedienkonzepte aus dem Lager der Spielekonsolen auf den Linux-PC geschafft. Für Kinect wurden zwar bereits freie Treiber veröffentlicht und eine Unmenge an Anwendungsmöglichkeiten vorgestellt, jedoch wurde bislang lediglich ein Treiber in den Kernel aufgenommen, der die Kinect-Sensoren als Farb- oder Infrarot-Webcam nutzen kann.

Dieser Artikel stellt nur einen kleinen Auszug der Neuerungen seit Veröffentlichung von Ubuntu 11.10 dar. Die Fülle der Änderungen findet sich unter der Oberfläche und wird für die meisten Anwender nicht direkt spürbar sein. All jene, die eine längere und ausführlichere Lektüre nicht scheuen, seien auf die englischsprachigen Seiten zu den Kernel-Versionen 3.1 und 3.2 auf KernelNewbies.org verwiesen.


Quellen: