ubuntuusers.de

Dem Quetzal unter die Federn geschaut: Ein Blick auf den Kernel

ubuntu_logo.png

Gestern wurde die neue Version von Ubuntu veröffentlicht. Quantal Quetzal hat wieder einiges an Neuerungen an Bord, die sich den Anwender nicht nur am bunten Federkleid zeigen. Und so lohnt sich auch diesmal wieder der Blick auf die inneren Werte des bunten Vogels.

Wurde der Vorgänger, Precise Pangolin, noch mit dem Longtime-Kernel Linux 3.2 ausgestattet, so macht Quantal Quetzal einen Sprung über drei Versionen hinweg hin zu Linux 3.5. Entsprechend sind für den Quantal-Kernel auch einige Neuerungen zu verzeichnen, die dem Anwender diesmal jedoch überwiegend verborgen bleiben.

EFI boot support

Eine der auf den ersten Blick nicht anwenderrelevanten Neuerungen ist, dass bzImages - spezielle, komprimierte Kernel-Abbilder für den Startvorgang – nun direkt von dem als BIOS-Nachfolger konzipierten EFI gestartet werden können. Somit wären zukünftige Linux-Versionen auch ohne Bootloader denkbar. Allerdings ist diese Änderung nicht in Verbindung mit der aktuellen Diskussion um Secure Boot zu sehen, das letztlich nur eine Funktion von EFI darstellt.

Neue X32 ABI: 64-bit mode mit 32-bit pointers

Eine derzeit noch nicht genutzte Funktion dürfte die neue X32 ABI sein. Hier handelt es sich um eine Schnittstelle für Programme, die dann auf 64-Bit-Systemen in einem 32-Bit-Kontext laufen. Anwendungen, die dies nutzen sollen, müssen für die Verwendung von X32 kompiliert werden, können dann jedoch erheblich schneller sein als die mit den bisherigen Schnittstellen i386 und x86_64.

x86 CPU Treiber autoprobing

Das Gerätetreiber als Module im Bedarfsfall geladen werden können, ist bereits ein alter Hut. Dieses Prinzip, Autoprobing genannt, wird nun auch auf Prozessorerweiterungen angewandt. Somit werden spezifische Treiber einfach nicht geladen, wenn die zugehörige Erweiterung nicht vorhanden ist und aufwändige Tests und Hacks innerhalb eines Treibers können unterbleiben.

Bufferbloat

Schon seit einiger Zeit ein größeres Thema ist der Bufferbloat. Dabei handelt es sich um einen Effekt, der durch die mittlerweile umfangreichen „Optimierungen“ der Datenübertragung in Netzwerken entsteht. Das Zwischenspeichern von Netzwerkpaketen auf Rechnern, Servern und Netzwerkhardware sorgt zwar dafür, dass deren Kapazitäten möglichst effizient genutzt werden. Ein Problem daran ist, dass an der Übertragung beteiligte Geräte jeweils eigene Puffer unterhalten, die zusammen dann wie eine große Speicherblase wirken, in der übertragene Daten unterschiedlich lange auf ihre weitere Bearbeitung warten müssen. Das Ergebnis sind dann hohe Latenzen, also Verzögerungen, und Durchsatzprobleme.

Um diese Effekte zu minimieren, wurden nun zwei Methoden eingeführt. Zum einen wurde eine Möglichkeit geschaffen die Größe der Warteschlange für zu sendende Pakete zu begrenzen (Byte queue limits). Eine weitere Methode ist CoDel (Controlled Delay, zu deutsch: gesteuerte Verzögerung), welche die Größe eben jener Warteschlange in Abhängigkeit des derzeitigen Netzwerkdurchsatzes anpasst. Das Ergebnis sollen schnellere Reaktionen der Client-Server-Kommunikation sein und dürften sich insbesondere im Hinblick auf Webanwendungen in Verbindung mit komplexen Webserver-Farmen bemerkbar machen.

Anpassungen und Fazit

Es gibt auch einige spezielle Anpassungen des Kernels an die Ubuntu-Belange. Die sollen an dieser Stelle jedoch nicht ausführlich behandelt werden. Wer sich dafür interessiert, kann dies in den Release Notes unter dem Punkt Kernel 3.5.5 nachlesen.

Alles in allem hört sich dies nicht nach den Killerfunktionen aus Sicht eines Anwenders an. Dennoch tragen auch diese – und viele weitere Änderungen – zur Verbesserung von Leistung und Zuverlässigkeit bei.


Quellen: