![]() |
![]() |
![]() |
![]() |
|
|
Zacks Kernel-NewsZack Brown |
Cryptoloop vor dem Aus |
Schon seit Version 2.6.3 trägt sich Andrew Morton mit dem Gedanken, das Modul Cryptoloop, mit dem sich auch verschlüsselte Dateisysteme über Loopback einbinden lassen, aus dem Kernel zu entfernen. Es wurde im Juli 2003 von Andries Brouwer eingereicht, aber bereits damals war Morton nicht ganz davon überzeugt. James Morris reichte im August 2004 ein Patch ein, das Cryptoloop komplett entfernt, und stieß auf breite Zustimmung bei den Kernelentwicklern. Die Entfernung von Cryptoloop oder irgendeines anderen Features im Kernel 2.6 ist aber problematisch. Schließlich handelt es sich bei 2.6 um die stabile Version und jede Änderung, die Benutzer betrifft, dürfte auf große Widerstände stoßen. Allerdings ist Kernel-Maintainer Andrew Morton bei der Trennung zwischen stabilem Kernel und der Entwicklerversion weniger strikt als seine Vorgänger. Der Mainstream-Kernel wird selbst in der stabilen Version eine möglichst große Zahl an Features aufweisen und auf Effizienz optimiert sein. Die Arbeit an der Stabilität des Kernels sieht Morton bei den Linux-Distributoren gut aufgehoben. Er möchte deren Stellung stärken und damit die Entwicklung des Linux-Kernels dezentralisieren. Da Cryptoloop mit Bugs und Sicherheitsproblemen behaftet ist und zurzeit keinen Maintainer hat, ist seine baldige Entfernung zu erwarten. Andrew Morton scheint dies allerdings lieber in der Entwicklerversion 2.7 tun zu wollen und zeigt damit seinen Respekt vor den traditionellen Anforderungen an stabile Kernel. |
Sorgenkind Scheduler |
Einige Kernelentwickler sind mit dem Prozess-Scheduler im Kernel 2.6 sehr unzufrieden. Ingo Molnar und Arjan van de Ven beispielsweise kämpften bei Audio-Anwendungen mit den Verzögerungen und Sprüngen, die der Scheduler verursacht. Daher entwickelten sie ein Patch, das den Zeitabstand zwischen den Re-Schedulings durch zusätzliche Scheduling Points verkleinert. Dieser Ansatz lässt jedoch die bisherige Arbeit am Scheduler außer Acht. Vor allem Robert Love und Andrew Morton vermuten, dass Bugs die meisten Scheduler-Probleme verursachen, und die lassen sich beheben. Eine neue Infrastruktur in Form von zahllosen über den Kernel verteilten Scheduling Points halten sie nicht für notwendig. In den letzten Jahren gab es viele Scheduler-Implementierungen, die auf unterschiedlichen theoretischen Ansätzen beruhen. Ein Vorschlag ging so weit, beim Kompilieren des Kernels verschiedene Scheduler-Umsetzungen zur Auswahl anzubieten. Diese Idee setzte sich jedoch bei Kernel-Maintainern wie Linus und Andrew wegen der zentralen Rolle des Schedulers nicht durch. Konkurrierende Umsetzungen in einem offiziellen Kernel gefährden nach ihrer Ansicht die Stabilität einer Version. |
Kein DevFS in Kernel 2.8 |
Greg Kroah-Hartmann reichte Ende Juli ein Patch ein, das DevFS aus dem Kernel entfernt. Viele Entwickler hoffen, dass DevFS bald ganz von seinem Nachfolger Udev abgelöst wird. Gregs Vorschlag, das Feature aus dem stabilen Kernel 2.6 zu entfernen, löste allerdings eine hitzige Diskussion unter den Entwicklern aus. Andrew Mortons neues Entwicklungsmodell erlaubt zwar größere Veränderungen am stabilen Kernel, doch in diesem Fall empfahl Morton, bis Mitte 2005 zu warten. Außerdem versicherte er, DevFS werde spätestens bis zur Release von Version 2.8 aus dem Kernel verschwinden. |
Reiser 4 auf dem Weg in Kernel 2.6 |
Reiser 4 wurde jetzt in den Kernel 2.6.8.1-mm2 aufgenommen. Das Dateisystem, von seinem Erfinder Hans Reiser als das schnellste unter Linux bezeichnet, bemüht sich schon lange um die Aufnahme in den offiziellen Kernel. Nach dem Eingang in Andrew Mortons »-mm«-Zweig dürfte die Integration in den Kernel 2.6 kurz bevorstehen. Bisher wurde nur der Kern des Dateisystems in die Kernel-Patches übernommen. Bis Reiser 4 den Weg in den offiziellen Kernel gefunden hat, ist die Aufnahme zahlreicher interessanter Features aufgeschoben. Dazu gehört beispielsweise die Möglichkeit, mehrere kleine Dateien mit einem einzigen System-Call anzusprechen. Für die meisten Anwendungen in der Praxis reicht der Dateisystemkern jedoch aus. Neuere Dateisysteme wie Reiser, Ext 3 oder XFS bedienen die Bedürfnisse verschiedener Zielgruppen (siehe auch den ersten Artikel im Titelthema dieser Ausgabe). |
Neue Kommunikation zwischen Kernel- und Userspace |
Ein neues Verfahren für die Kommunikation zwischen Kernel- und Userspace ist auf der Bildfläche erschienen. Allerdings bemühen sich die Kernelentwickler darum, es in seine Schranken zu weisen. Sie befürchten ähnliche Probleme wie bei ProcFS und I/O-Control, die aus Gründen der Rückwärtskompatibilität immer noch für Unordnung im Kernel sorgen. Robert Love, Arjan van de Ven und Kay Sievers haben ein asynchrones Nachrichtensystem in Form einer Kernel-Events-Schicht implementiert. Diese Schicht umgibt Netlink und ermöglicht es, dass Kernelereignisse in den Userspace weitergegeben werden. Das Trio setzte als Proof-of-Concept ein Event um, das zur Information über die aktuelle Prozessortemperatur dient. Theoretisch lassen sich mit diesem Mechanismus zahllose solcher Events verarbeiten. Die Herausforderung für die Kernelentwickler besteht darin, zu verhindern, dass sich die Events-Schicht mit SysFS überschneidet. Möglicherweise wäre auch die vollständige Integration in SysFS die richtige Lösung. Eine geeignete Regelung dafür kennt noch niemand, eins ist den Entwicklern jedoch jetzt schon klar: Die Kernel-Events sind ein leistungsstarkes Feature, das sehr nützlich sein könnte. Allerdings sollte sich die Events-Schicht nicht zu einem zweiten »/proc«-Verzeichnis entwickeln und auf Jahre hinaus Verunsicherung über die Konventionen stiften. Doch aus den Problemen mit der Verwendung von »/proc«, »ioctl()« und »/dev« haben die Entwickler offensichtlich etwas gelernt: Sie diskutieren bereits im Vorfeld, wie sich ein vergleichbares Chaos bei den Kernel-Events verhindern ließe. |
Software-Suspend wieder vereinigt |
Die Projekte von Patrick Mochel und Pavel Machek, die sich beide mit Software-Suspend beschäftigen, haben wieder zusammengefunden. Software-Suspend ist ein Verfahren, das den Zustand eines laufenden Systems speichert und nach einem Reboot wiederherstellt. Im September 2003 war es zu heftigen Auseinandersetzungen in Macheks Swsusp-Projekt gekommen, die schließlich zu einer Spaltung führten. Patrick Mochel gründete unter dem Namen Pmdisk ein konkurrierendes Projekt. Im Laufe der Zeit drosselte Patrick jedoch das Tempo seiner Entwicklungsarbeit. Nach einigen Gesprächen unter vier Augen, einigte er sich im Juli dieses Jahres mit Pavel Machek, um die Projekte wieder unter Pavels Leitung zusammenzuführen. In der offiziellen Ankündigung der Wiedervereinigung entschuldigte sich Patrick für den Fork und gab seine Versöhnung mit Pavel bekannt. Nur selten versöhnen sich die Kontrahenten nach einem Fork wieder und führen die Ergebnisse ihrer Arbeit zusammen. In den meisten Fällen löst das neue Projekt das ursprüngliche ab oder beide Projekte konkurrieren auf Dauer. Allerdings gibt es auch bemerkenswerte Gegenbeispiele, darunter so bedeutende Projekte wie den GNU C-Compiler und die Glibc. |
Braille-Dämon |
Blinde benutzen eine Braillezeile, um die Ausgaben des Rechners mit den Fingern zu lesen. Unter Linux lässt sich ein solches Gerät mit dem Daemon BRLTTY betreiben, der mehrere virtuelle Konsolen zur Verfügung stellt. Dank »uinput«, der Unterstützung für Eingabegeräte im Userspace, kann man an moderne Braillezeilen nun sogar Tastaturen anschließen. Die Scancodes der Tasten werden korrekt. erkannt. (mhu/agr) |