Die Entwicklung des 2.6.37 nähert sich dem Ende, die Finalversion wurde im Dezember jedoch noch nicht veröffentlicht. Eine Änderung in der Pflege der Langzeit-Kernel-Versionen, der Kernel der kommenden Debian-Version und der Jahresbericht der Linux Foundation sind ebenfalls Themen dieses Kernelrückblicks. Dieser ist, neben vielen anderen interessanten Beiträgen, in der aktuellen Ausgabe von freiesMagazin enthalten.
Kernel 2.6.37
Der November endete mit einer kleinen Enttäuschung: Ein endlich beseitigt geglaubter Fehler in der Behandlung von Verzeichnisauflistungen des Netzwerkdateisystems NFS erwies sich als äußerst widerstandsfähig und konnte auch mit einigen in -rc4 (siehe „Der November in Kernelrückblick“, freiesMagazin 12/2010 [1]) aufgenommenen Patches nicht beseitigt werden. Auch -rc5 [2] konnte hier keine Abhilfe schaffen. Dafür können nun Schnappschüsse des verteilten Dateisystems Ceph [3] als Block-Devices in Unterverzeichnisse unterhalb des zugehörigen Abbildes eingehängt werden, was die Übersichtlichkeit im Umgang damit erhöhen soll. 2.6.37-rc6 [4] brachte dann eine Erweiterung des GPIO-Treibers (General Purpose Input/Output – Mehrzweck-Ein/Ausgabe), mittels derer nun Geräte an der Schnittstelle verwendet werden können, die den Kernel nicht mittels eines Interrupts auf ein angelegtes Signal aufmerksam machen können, wie zum Beispiel ein einfacher Schalter. Ist diese neue Funktion aktiviert, wird die Schnittstelle permanent auf Signaländerungen überwacht.
Kurz vor den Feiertagen setzte Torvalds der Entwicklergemeinde dann den -rc7 [5] vor. Mit diesem wurden Änderungen der PCI-Treiber rückgängig gemacht, die leider zu Problemen führten. Auch der Treiber für Intel-Grafikchips bereitet derzeit Probleme, ebenso das Entfernen des Big Kernel Lock aus dem V4L-Treiber. Wenigstens letzteres beschränkte sich in erster Linie auf die Leistung des Video-Treibers und soll mittels einiger Änderungen des Entwicklers Hans Verkuil behoben werden. Ein weiterer großer Wurf dieser Vorabversion ist ein größerer Patch, mit dem ein Fehler der Funktion NO_HZ vollständig ausgemerzt werden soll. Dieser äußert sich in der fehlerhaften Anzeige der Systemlast. NO_HZ soll das zeitgesteuerte Aufwachen des Prozessorkerns gegen einen bedarfsgesteuerten Aufwachzyklus tauschen und damit den Energiehunger des Prozessors dämpfen.
Änderung der Langzeit-Kernelpflege
Bislang galt beim Kernel immer die Devise „The latest is the greatest“ (Der Neueste ist der Beste) und entsprechend trägt automatisch immer die zuletzt veröffentlichte Version das Prädikat „stable“; zu deutsch „stabil“ im Sinne von „beständig“ oder „sicher“ [6]. Das bedeutet grundsätzlich, dass bei Erscheinen eines neuen Kernels zügig auf diesen aktualisiert werden sollte. Dazu kamen noch die von Greg Kroah-Hartman über längere Zeit gepflegten Versionen, „Longterm Releases“ genannt, dies sind derzeit 2.6.27, 2.6.32 und 2.6.35. Welche Versionen zum Longterm Release werden, entscheidet Kroah-Hartmann selbst. Jedoch erhält er zunehmend Anfragen, die jeweils aktuelle Version in die Langzeitpflege aufzunehmen. Aus Zeitgründen zieht Kroah-Hartman hier nun einen Strich unter die Praxis der Langzeit-Veröffentlichungen [7] und pflegt künftig nur noch die aktuellsten ein oder zwei Versionen, um den Nutzern einen sanften Umstieg ohne große Hektik ermöglichen zu können.
Die bereits angekündigten und derzeit gepflegten Longterm-Versionen werden entsprechend weiter gepflegt, werden jedoch eventuell andere Betreuer erhalten. Dies wird zum Beispiel 2.6.35 betreffen, der künftig von Andi Kleen gepflegt wird. Auf der offiziellen Kernel-Seite [8] sind diese Versionen als „longterm“ gekennzeichnet.
Freier Kernel für Debian
Als „freies“ Betriebssystem erfreut sich Linux einiger Beliebtheit. Jedoch findet sich bereits im offiziellen Linux-Kernel stellenweise proprietärer Code, der in Form von binären Blobs vorliegt. So laden zum Beispiel Netzwerktreiber beim Start die Firmware auf den Chipsatz der Netzwerkkarte, auch bei Grafiktreibern ist dies Praxis. Das Debian-Projekt hat nun den Kernel selbst von diesen unfreien Bestandteilen befreit und bringt mit der kommenden Debian-Version 6.0 „Squeeze“ einen vollständig freien Kernel mit [9].
Während die Idealisten jubeln, müssen Besitzer von Hardware, für die keine vollständig freien Treiber zur Verfügung stehen, auf Squeeze jedoch nicht verzichten. In den „non-free“-Repositories stehen alternative CD-Abbilder zum Download bereit, die die unfreien Treiber beinhalten.
Jahresbericht
Den jährlichen Bericht über die Kernel-Entwicklung legte die Linux Foundation im Dezember vor [10]. Er versucht die Fragen „Wie schnell geht es voran?“, „Wer macht es“?, „Was machen sie?“ und „Wer fördert es?“ zu beantworten. Daraus erschließt sich eine mittlere Entwicklungszeit von etwa 81 Tagen pro Kernelversion, zumindest in den letzten beiden Jahren hat sich dieser Zeitraum eingebürgert. Die Zahl der Patches gibt nach einem Spitzenstand von fast 12.000 bei 2.6.30 wieder leicht zurück auf etwa 9800 bei 2.6.35, dies lässt sich unter anderem damit erklären, dass sich die Entwicklung einiger Subsysteme, darunter die Dateisysteme ext4 und btrfs mittlerweile stabilisiert hat und nun weniger Arbeit erfordert. Mittlerweile über 13 Millionen Quelltext-Zeilen verteilen sich auf über 33.000 Dateien. Die Anzahl der aktiven Entwickler ist wieder gestiegen. Nach einem kurzen Zwischenhoch von 1248 bei 2.6.32 sank die Zahl auf 1150 bei 2.6.34, im Entwicklungszyklus von 2.6.35 kamen wieder 37 neue hinzu. Insgesamt haben über die letzten Jahre 6117 Entwickler zum Linux-Kernel beigetragen. Dagegen sinkt die Zahl der beteiligten Unternehmen seit 2.6.32 von 259 auf 184 (2.6.35) weiter ab. Die absoluten Top-Entwickler sind David S. Miller und Ingo Molnar, der Betreuer des Schedulers. Unter den Firmen, die die Linux-Entwicklung unterstützen, liegt Red Hat mit 12% aller Änderungen vorne, gefolgt von Novell mit 7% und IBM mit 6,9%. 6,4% der Änderungen am Kernel konnten keinem Unternehmen zugeordnet werden, mit 18,9% liegt ein doch noch recht großer Anteil bei „freien“ Entwicklern [11].
Ein Abbild (Englisch: Image) ist eine Eins-zu-Eins-Kopie eines Dateisystems oder Datenträgers. Es kann dazu verwendet werden, ein Dateisystem zu sichern, indem ein Abbild zu einem bestimmten Zeitpunkt erstellt wird und dieses anschließend jederzeit wieder auf den Datenträger zurückgespielt werden kann. Es erscheint dann gegenüber dem Zeitpunkt, zu dem es erstellt wurde, unverändert. Abbilder werden auch von CDs erstellt und verbreitet, zum Beispiel für die Installations-CD der Lieblingsdistribution. Manchmal wird der Begriff Abbild auch für im Netzwerk abgelegte Datenspeicher verwendet.
Schnappschüsse (Englisch: Snapshot) stellen ebenso den Zustand eines Dateisystems zu einem bestimmten Zeitpunkt dar, werden jedoch nicht zu diesem Zeitpunkt vollständig erstellt. Es werden vielmehr die Änderungen im Dateisystem zwischen dem Zeitpunkt des Schnappschusses und dem jetzigen mitprotokolliert. Dadurch kann ein Schnappschuss im laufenden Betrieb durchgeführt werden, ohne dass Zugriffe darauf unterbunden werden müssten.
Quellen:
[1] http://www.freiesmagazin.de/freiesMagazin-2010-12
[2] http://lkml.org/lkml/2010/12/7/9
[3] http://ceph.newdream.net/
[4] http://lkml.org/lkml/2010/12/15/457
[5] http://lkml.org/lkml/2010/12/21/226
[6] http://www.dict.cc/?s=stable
[7] http://lkml.org/lkml/2010/12/2/388
[8] http://master.kernel.org/
[9] http://www.pro-linux.de/news/1/16516/debian-60-soll-vollstaendig-freien-...
[10] http://www.linuxfoundation.org/docs/lf_linux_kernel_development_2010.pdf
[11] http://www.pro-linux.de/news/1/16462/kernel-jahresbericht-der-linux-foun...
