Da es neben der Veröffentlichung des 2.6.30er Kernels noch einige andere interessante Neuigkeiten rund um den Kernel gab, nehme ich den aktuellen Kernel-Rückblick auch diesmal wieder auf. Dieser ist, neben vielen anderen interessanten Themen, in der aktuellen Ausgabe von freiesMagazin enthalten.
Kurz nach Erscheinen der Juni-Ausgabe von freiesMagazin wurde der neue stabile Kernel veröffentlicht [1]. Die Version 2.6.30 konnte dabei unter anderem fünf neue Dateisysteme, einen beschleunigten Systemstart, neue Kompressionsmethoden und auch Unterstützung für neue Protokolle aufweisen.
Während NILFS2 als logstrukturiertes Dateisystem (siehe "Der April im Kernel-Rückblick", freiesMagazin 05/2009) [2]
in erster Linie Sicherheit gegen Datenverluste und die Möglichkeit für eine Versionierung des Dateisystems und Schnappschüsse im laufenden Betrieb ermöglicht, zielt EXOFS auf die Nutzung objektorientiert arbeitender Speichermedien -- im Unterschied zu den bisher meist blockorientierten Speichern. CacheFS setzt auf bestehende Netzwerk-Dateisysteme, soll diese jedoch durch intelligente Zwischenspeicherung der darin gespeicherten Daten bei der Nutzung auf dem lokalen Rechner beschleunigen. POHMELFS (Parallel Optimized Host Message Exchange Layered File System) soll als verteiltes Netzwerk-Dateisystem besonders hohe Leistungen dadurch erzielen, dass von mehreren Quellen im Netzwerk gelesen werden kann und Schreibvorgänge in den lokalen Zwischenspeicher erfolgen. DST (Distributed Storage) schließlich stellt ein weiteres verteiltes Netzwerk-Dateisystem dar, das der Einrichtung von hochperformaten Netzwerk-Speichern dienen soll. Es setzt dabei auf beliebige Medien und Protokolle auf und kann sowohl lokale als auch entfernte Ressourcen nutzen. Darüber hinaus ist die Unterstützung für NFS v4.1 nun auch vorhanden. Da sich dieses jedoch noch in der Entwicklung befindet, wird es derzeit standardmäßig deaktiviert. Verbesserungen hat Ext4 erfahren, mit denen es sich von seinem angekratzten Image lösen soll. Der Nachfolger von Ext3 gelangte durch die Nutzung von Allocate-on-Flush [3], einer Methode, die durch verzögertes Schreiben von Änderungen auf den Datenträger die Leistung verbessern soll, in die Kritik, nachdem Systemabstürze vor Beendigung des hinausgezögerten Schreibvorgangs den Verlust von größeren Datenmengen zur Folge hatten (siehe "Ein Tuz für den Kernel", freiesMagazin 04/2009) [4].
Fastboot wurde durch Intel in den neuen Kernel eingebracht und beschleunigt den Start des Systems, indem die Suche nach Geräten und Partitionen parallel zur Initialisierung anderer Geräte oder Dienste erfolgen kann und nicht wie bisher den weiteren Startvorgang verzögert. Darüber hinaus wurde auch dem stetigen Anwachsen des Kernel-Quelltextes Rechnung getragen. So kann zur Kompression des Kernel-Abbildes nun künftig auf LZMA und BZIP2 zurückgegriffen werden. Mit BZIP2 kann eine Reduzierung des Speicherbedarfs um 10 Prozent gegenüber der herkömmlichen GZIP-Kompression erreicht werden, mit LZMA sogar bis zu 33 Prozent. Während der IEEE-Standard 802.11w [5] noch auf die Verabschiedung durch die entsprechenden Gremien warten muss, wird er vom Linux-Kernel bereits unterstützt. Damit soll die Sicherheit von Drahtlosnetzwerken erhöht werden, indem Pakete, die der Verwaltung des Netzwerkes dienen, zusätzlich geschützt werden. Eine Optimierung der Kommunikation von Rechnern eines Clusters untereinander soll das RDS-Protokoll (Reliable Datagram Sockets) bringen. Es ermöglicht die Nutzung von Sockets, den Software-Schnittstellen der Netzwerkprotokolle, die mehrere Zielsysteme ansprechen können.
Eine Vielzahl neuer Treiber steht auch diesmal wieder zur Verfügung, ebenso wurden viele bestehende Treiber erweitert und um die Unterstützung für weitere Geräte ergänzt wie auch verbessert. Eine vollständige Auflistung findet sich auf KernelNewbies.org [6].
Knapp zwei Wochen nach der Veröffentlichung des stabilen Kernels beendete Torvalds wieder den Zeitraum, in dem neue Funktionen für den Nachfolger, Kernel 2.6.31-rc1 [7][8], eingebracht werden können. 70 Prozent der eingebrachten Patches betrifft Treiber, aber auch an den Dateisystemen btrfs, xfs und Ext3 wurde weiterentwickelt. Neuzugang ist die Umsetzung von IEEE 802.15.4, ein Standard, der die Einrichtung von WPAN (Wireless Personal Area Networks), Drahtlosnetzwerke kurzer Reichweite im "persönlichen Bereich", ermöglichen soll.
Mit einer Reihe von Commits, die teilweise bereits im April eingebracht wurden, hat die bei Intel beschäftigte Entwicklerin Sarah Sharp Unterstützung für xHCI (Extensible Host Controller Interface), den Controller für die neue Spezifikation USB 3.0, in den Kernel eingebracht und damit Linux zum ersten Betriebssystem gemacht, das USB 3.0 unterstützt [9]. Damit löst sie ein Versprechen ein, das sie im Dezember vergangenen Jahres gegeben hatte [10].
CUSE (Character Devices in Userspace) ist ebenfalls ein neuer Treiber. Damit soll eine Schnittstelle geboten werden, die die Ansteuerung von Geräten im Userspace ermöglicht. Es macht sich dabei die bereits bestehende Implementierung von FUSE (Filesystem in Userspace) zu Nutze, das unter anderem als Basis der NTFS-Implementierung NTFS-3G oder SSHFS dient, welches per SSH eingebundene Dateisysteme verwaltet. CUSE soll älterer Software zum Beispiel eine serielle Schnittstelle zur Verfügung stellen.
Kroah-Hartmans Linux Driver Project [11] wurde zwei Jahre alt, und wie schon vor einem Jahr zieht Kroah-Hartman wieder Resümee, dieses fiel diesmal jedoch deutlich positiver aus [12]. Bemängelte er im vergangenen Jahr noch, dass zwar viele Entwickler zur Verfügung stünden, jedoch nicht genügend Projekte für sie vorliegen würden, so kann nun auf ein erfolgreiches Jahr zurückgeblickt werden. Im Durchschnitt kamen zwei Anfragen pro Monat für unterschiedliche Treiber von verschiedenen Firmen, viele Treiber konnten fertiggestellt und in den Kernel aufgenommen werden. Daneben schulte man Firmen in der Entwicklung eigener Treiber und der Betreuung ihrer Quelltext-Basis im Kernel. linux-staging, ein Kernel-Zweig, in dem in der Entwicklung befindliche Treiber für die zukünftige Aufnahme in den Kernel vorbereitet werden, trug viel dazu bei, Neulingen den Einstieg in die Treiber-Entwicklung zu erleichtern. Das Linux Driver Project hat sich die Entwicklung freier Gerätetreiber für Linux zum Ziel gesetzt, um die Treiber-Unterstützung für Linux weiter zu verbessern. Dabei ist man bereit, Geräte-Hersteller zu unterstützen, die kein Know-How in dieser Richtung haben, und auch Geheimhaltungsvereinbarungen über die Architekturen und Spezifikationen der Geräte zu akzeptieren.
Auch Torvalds blickte auf sein Projekt und die vergangene Entwicklung des Linux-Kernels zurück und zeigte sich zufrieden mit dem Stand der Entwicklung [13]. Mittlerweile steuert Linux Torvalds selbst keinen Code mehr bei, sondern sichtet lediglich den Strom eingehender Patches und behält nur noch die Entwicklung im Auge. Der x86-Zweig sah in der Vergangenheit zwar ein Auf und Ab verschiedener Entwicklungsmodelle, sei aber derzeit in einem vielversprechenden Zustand.
Quellen:
[1] http://lkml.org/lkml/2009/6/9/710
[2] http://www.freiesmagazin.de/freiesMagazin-2009-05
[3] http://en.wikipedia.org/wiki/Allocate-on-flush
[4] http://www.freiesmagazin.de/freiesMagazin-2009-04
[5] http://en.wikipedia.org/wiki/IEEE_802.11w
[6] http://kernelnewbies.org/Linux_2_6_30
[7] http://lkml.org/lkml/2009/6/24/595
[8] http://www.pro-linux.de/news/2009/14357.html
[9] http://www.linux-magazin.de/NEWS/Erster-Treiber-fuer-USB-3.0
[10] http://sarah.thesharps.us/2008-12-07-13-35.cherry
[11] http://www.linuxdriverproject.org/
[12] http://www.pro-linux.de/news/2009/14277.html
[13] http://www.linux-magazin.de/NEWS/Torvalds-erfreut-ueber-Kernel-Entwicklung
