ubuntuusers.de

Was Natty antreibt: Ein Blick auf den Kernel

ubuntu_old.png

Die Entwicklung von Ubuntu 11.04 nähert sich mit großen Schritten ihrem Ende. Vieles wurde überarbeitet, auch im Kern gibt es einige Neuerungen seit Maverick Meerkat veröffentlicht wurde. Zeit also, einen Blick auf den Kernel zu werfen, der in Ubuntu 11.04 steckt.

Es war lange Zeit nur „wahrscheinlich“, dass 2.6.38 in den jüngsten Spross der Ubuntu-Familie einziehen sollte. Bereits Ende Januar wurde der Kernel in Natty auf die Entwicklerversion 2.6.38 umgestellt und mittlerweile von den Kernel-Entwicklern als stabile Version veröffentlicht. Der Sprung über drei Kernel-Versionen (2.6.36, .37 und .38) hinweg muss nicht immer gleich eine Verheißung auf weltbewegende Neuerungen sein, aber den einen oder anderen Leckerbissen hat der Natty-Kernel dann doch zu bieten.

Zu den Funktionen, die beim Arbeiten an einem Desktop-PC oder Notebook auffallen, werden in jedem Fall die automatischen Task-Gruppen zählen. Diese Funktion verbessert das Antwortverhalten, wenn der Rechner unter hoher Last steht, indem die zur Verfügung stehenden Prozessorressourcen gleichmäßig auf Prozess-Gruppen verteilt werden. Diese sind nach dem Terminal sortiert, von dem aus sie ausgeführt werden. So erhält zum Beispiel ein Kompilierungsvorgang mit vielen Prozessen die gleiche Priorität wie ein Web-Browser oder E-Mail-Programm.

Mehr im Hintergrund, letztlich jedoch mit positiven Auswirkungen auf die Leistungsfähigkeit des Rechners, wurde der Big Kernel Lock (BKL) entfernt. Dieser Locking-Mechanismus gilt als besonders uneffektiv, da er den gesamten Kernel sperrt und wurde daher durch weniger gierige Locking-Mechanismen ersetzt. Dieses Projekt zog sich nun fast drei Jahre hin, in denen nach und nach alle Stellen, an denen der BKL zum Einsatz kam, überarbeitet wurden. Bereits seit 2.6.37 war es möglich, den Kernel ohne BKL-Unterstützung zu installieren, da nur noch wenige Treiber, wie zum Beispiel der Intel-Treiber i810, auf den BKL-Code angewiesen waren. Mit dem Natty-Kernel (2.6.38) ist BKL weitgehend passé und bereits in der Standard-Konfiguration deaktiviert. Der Code für den Lock wird jedoch erst mit dem Linux-Kernel 2.6.39 verschwinden, der sich derzeit in der Entwicklung befindet.

Ein neues Benachrichtigungssystem für Dateisysteme ist Fanotify. So, wie der Nutzer durch die Notifications auf dem Laufenden gehalten wird, wann immer Anwendungen Neuigkeiten zu vermelden haben, können sich Programme über Änderungen am Dateisystem informieren lassen. In diesem Punkt stellt Fanotify eine Ablösung für inotify dar, geht aber noch einen Schritt weiter: Es kann auf eine Antwort des benachrichtigten Programms warten und einen Prozess so lange blockieren. Damit können zum Beispiel On-Access-Virenscanner Dateien noch schnell prüfen, bevor sie gelesen oder ausgeführt werden, wie dies auf Windows-Systemen bereits gang und gäbe ist. Künftig können Virenscanner unter Linux auf diese einheitliche Schnittstelle zurückgreifen, bislang nutzen diese meist das (derzeit nicht gepflegte) Kernel-Modul Dazuko oder verzichten auf eine Echtzeitprüfung.

Weitere Änderungen, die beim Umgang mit dem Linux-Desktop zum Tragen kommen, sind zum Beispiel der Einsatz von FS-Cache im Zusammenhang mit Windows-Freigaben. FS-Cache ist ein Zwischenspeicher für Netzwerkdateisysteme, der nun auch den Zugriff auf Windows-Freigaben mittels CIFS beschleunigt. Verbesserungen an der Virtuellen Speicherverwaltung sollen scheinbar eingefrorenen Systemen vorbeugen, die zum Beispiel bei Schreibvorgängen auf langsame USB-Geräte auftreten, wenn der zur Verfügung stehende Arbeitsspeicher ausgelastet ist - im Zeitalter von Netbooks mit teilweise nur 1 GB vorinstalliertem RAM ein nicht allzu fern liegendes Szenario. Wird ein Rechner in den Ruhezustand versetzt, so sichert er ein Abbild des Speichers auf Festplatte, um später wieder im gleichen Zustand aufwachen zu können. Dieses wird nun mittels LZO komprimiert. LZO gilt zwar nicht gerade als der effizienteste Algorithmus um eine hohe Kompressionsrate zu erzielen, punktet jedoch bei der Geschwindigkeit, mit der die Komprimierung und Dekomprimierung vonstatten gehen und somit auch bei der Zeit, die zum Einschlafen und Aufwachen benötigt wird. Und zuletzt kann Ubuntu 11.04 bereits mit AMDs neuester Generation von Chipsätzen umgehen, da Nattys Kernel Unterstützung für die Fusion-Plattform bietet, die Prozessor und Grafikkern auf einem Chip vereinen. Erste Geräte mit diesen Chips wurden zum Beispiel von Acer und MSI angekündigt und dürften in Kürze im Handel auftauchen.

Dies war nur ein kurzer Abriss der wichtigsten Neuerungen, die nicht nur irgendwo im Dunkeln dämmern, sondern für den Nutzer am Desktop greifbar sind. Darüber hinaus wurden im Hintergrund unter anderem Verbesserungen an den Werkzeugen zur Leistungsmessung des Kernels vorgenommen, mit deren Hilfe die Entwickler bewerten können, wo die Bremsen im System sitzen und wo optimiert werden kann. Mit B.A.T.M.A.N. wurde ein neues Routingprotokoll für vermaschte drahtlose Netze aufgenommen, das unter anderem nach Naturkatastrophen zum Einsatz kommen kann, um wieder Kommunikationsmöglichkeiten zu schaffen. Dabei ist jeder Teilnehmer am Netz nicht nur Endpunkt sondern auch Teil der Verbindung zu Anderen oder kann als Zugangspunkt zum Beispiel per Satellitenfunk zum Internet dienen. Der Nutzerkreis dürfte zwar eher eingeschränkt sein, nichtsdestotrotz handelt es sich um eine interessante Technik. Das bereits von Ubuntu genutzte AppArmor, ein System, das die Berechtigungen von Prozessen beschränken und damit die Sicherheit des Systems gegenüber eingeschleustem Code verbessern soll, ist jetzt nun offiziell Bestandteil des Linux-Kernels. AppArmor muss nun nicht mehr von den Distributionen selbst eingefügt werden, was diesen einigen Aufwand abnimmt, letztlich für den Nutzer jedoch keinen Unterschied macht.

Quellen: Linux Kernel Newbies 1, 2, 3