Immobilien: Wohnungen, Häuser & Grundstücke  

News Community Reports

» Downloads Links

Werbefläche STRATO AG

 
 
 » Die aktuelle Linux-Kernel-Entwicklung. Erfolg durch Qualität?



Von Tobias Topyla am 04.03.2005 veröffentlicht.


Intro
Erfolg durch Qualität? Getreu dem C60-Motto: "Erfolg durch Qualität. Qualität durch Innovation. Innovation durch Zuverlässigkeit. Zuverlässigkeit durch Flexibilität. Flexibilität durch Belastbarkeit. Belastbarkeit durch Einsatzfreude [...]" - Ja das ist Open-Source! Doch was gab es in letzter Zeit neues zu berichten? Unserer Berichterstattung hat dahingehend in letzter Zeit etwas gelitten, wir möchten jedoch mal wieder einen kleinen Blick auf die Szene werfen und unserer Meinung nach das Wichtigste zur aktuellen Linux-Kernel-Entwicklung besprechen. Der schönste Moment im noch jungen Monat war wohl die Freigabe des 2.6.11er Linux-Kernels am 02.03.2005 vor genau 48 Stunden. Was ist seit dem passiert? Das GNU/Linux-Projekt dürfte damit einen doch negativen Schub erlangt haben, der für längere Zeit anhalten wird - dies steht bereits fest. Im Vergleich zur bereits erstaunlich "guten" 2.6.x Vorgänger-Serie erfuhr die neue Version zwar eine Vielzahl von Änderungen, jedoch keine in dem Sinne wie es sich die Szene vielleicht gewünscht hätte. Wir wünschen viel Spaß beim lesen!



Details
Alle Freunde des AMD K8-CPU-Kernes (wir berichteten) dürfen sich schon ein mal besonders freuen. Version 2.6.11 erlaubt endlich eine volle Unterstützung der x86-64-Architektur (Vgl. EM64T), jedenfalls im Sinne des virtuellen Speicherbereichs von bis zu 512 TIB und einer verbesserten Nutzung der 64 Bit langen Register. Der hinzu gekommene Support für DC-CPUs von AMD lässt erahnen, dass es wohl nicht wirklich mehr lange dauern wird, bis AMD die lang ersehnten Performance-Overkiller veröffentlichen wird (wir berichteten). Richtig schön ist allerdings der allgemein verbesserte CPU-Scheduler, der von einigen Latenz-Problemen befreit wurde, die vorher unter bestimmten Bedingungen aufgetreten sind und je nach Situation einen Kernel-Restart erforderten. Alternative Systembetreiber dürfen sich ebenfalls über die neue SMP-Konfiguration mit ARM-CPUs freuen. Insgesamt scheint der 2.6.11er sehr CPU-Lastig, ist das jedoch schlimm? Nein, wir denken nicht. Immerhin wurde zusätzlich Intels "InfiniBand*" komplett integriert. InfiniBand* beschreibt eine so langsam immer mehr und mehr in Fahrt kommende und sehr rasante Übertragungstechnik zwischen einzelnen Computern, die verschiedene Aufgaben erledigen können aber dennoch wie eine Einheit wirken - Cluster im "kleinen". Dies wurde auch nötig, die Architekturunabhängige Software-Methode zur Verbindung von Prozessor- und Input- & Output-Nodes zur Bildung von SANs (System-Area-Networks) war das Feature, nach dem sehr viele Administratoren neben Intel förmlich gebettelt haben. Aber auch an den Home-User wurde gedacht, mit dem Multimedia-Desktop wird Benutzern die eine DVB-T-Karte in ihrem Rechenknecht sitzen haben es endlich möglich sein, diese auch fehlerfrei & komplett zu nutzen. Zwar war DVB-T seit Version 2.6.9 integriert - jedoch war der Zustand des Kernel-Moduls mit "Alpha" bereits schon stark überdimensioniert. Nebenbei wurden die seit Kernel Version 2.4 geschlossene Sicherheitslücke PFH (Page-Fault-Handler) endgültig zurück in die Hölle geschickt. Zwar war es seit dem nicht mehr möglich über den ELF-Binary-Loader einen Buffer-Overflow auszulösen, jedoch ermöglichte die Verwendung von SSIZE_T nach wie vor eine Möglichkeit den Kernel-Speicher auszulesen. Version 2.6.11 behebt dies nun auf einen Schlag. Perfekt ist jedoch unser geliebter Kernel noch nicht. Jede neu hinzu gekommene Neuerung ist bekanntlich sehr anfällig für neue Sicherheitslücken. Zwar mögen diese vielleicht nicht mehr so verheerend sein wie die bereits zur Strecke gebrachten Bugs, eines steht jedoch fest - besser wird er auf jeden Fall, dies jedoch nach Ansicht einiger Kritiker in letzter Zeit eher entgegengesetzt. Der 2.6.x ist in letzter Zeit verschärft in Kritik geraten, selbst durch einstige Linux-Verfechter. Grund hierfür soll das Chaos im Kernel-Team sein und das willkürliche hinzufügen neuer Features ohne diese ausgiebig zu testen. Die Verwirrung um etwaige "STABLE"- bzw. "UNSTABLE"-Versionen ist mittlerweile für Neulinge so enerom geworden, dass dem versucht wird entgegen zu wirken. Linux Torvalds hat demnach eine weitere neue Idee bezüglich der künftigen Benennung der Kernel-Versionen zur Diskussion gebracht. Im Kreise der aktiven Entwickler sorgte die Idee aber für so viel Wirbel, dass es mitunter ein Grund für uns gewesen ist diesen Artikel zu veröffentlichen.



"Kernel-Version? Keine Ahnung, einfach mal eine runterladen..."
Wer weiß es noch? Nach der Freigabe von Kernel Version 2.6 (wir berichteten) hatte Linus Torvalds die Weiterentwicklung des Kernels in so weit geändert, dass statt wie bisher neue Funktionen erst dann integriert werden - wenn die Gruppe aus Autor und ggf. Distribution-Maintainer das ganze auch signiert haben (wir berichteten). Das ganze sollte u.A. als Reaktion auf die Kritik der seit Version 2.6 eingeführten Entwicklungsstrategie des Kernels zu sehen sein. Viele Programmierer und Benutzer sehen ab Kernel 2.6 vieles als instabil an und beklagen die fehlende Zuverlässigkeit der neuen Kernel-Serie. Brad Spengler, Entwickler von "grsecurity", veranlasste diese Tatsache zur provokativen Feststellung, dass es mittlerweile zehnmal einfacher sei, im Linux-Kernel Lücken zu finden als in üblichen Linux-Applikationen. Dies stimmt in so weit, dass es tatsächlich so ist, dass mittlerweile einfach zu viel integriert wird um dem Feature-Hunger der Benutzer entgegen zu kommen. Das macht zwar die Kombination aus GNU-Software und dem Linux-Kernel in so weit populärer und beliebter weil es einfach schneller in dem Sinne des Frischlings "funktioniert", man jedoch viele bis dato unangetastete Annehmlichkeiten wie die ausgewogene Stabilität verliert. Die Lage ist zwar weniger schlimm also von vielen verärgerten Benutzern. die sich mit Bugs herumschlagen müssen und Programmierern, die im wilden Code-Jungle nicht mehr durchblicken, geschildert. Man kommt jedoch schon in Versuchung bekannte und leicht zu öffnende "Gates" in Version 2.6.x auf anderen GNU/Linux-Systemen zu nutzen. Viele der offen stehenden "Gates" sind jedoch eher darauf zurück zu führen, dass es momentan einfach nur ein Wirr-War aus verschiedenen Kernel-Versionen gibt. So lädt sich Benutzer XY einen der neuen Kernel 2.6.x ohne zu wissen, ob dieser nun als "STABLE" herausgegeben wurde oder nicht. Der "Neue" bietet einfach das Feature XYZ und man möchte es nutzen, egal ob dieser nun als stabil und fehlerfrei ausgewiesen ist oder nicht. Wenn man nun noch bedenkt, dass alleine von Kernel 2.5 bis zum Kernel 2.6 über zwei Jahre Entwicklungs-Zeit vergingen, so wird einem auch das Chaos bewusst.

Viele auf Linux 2.4 basierende Distributionen, die später jedoch auf 2.5 oder gleich 2.6 gepatcht wurden, führten zu solch haarsträubenden Inkompatibilitäten zwischen den unterschiedlichen Distributionen, was letztendlich im heutigen Chaos mündete und bei vielen Nutzern zusätzlich den Eindruck hinterließ, dass tatsächlich irgendetwas beim Linux-Kernel grundlegend schief läuft. Da in Open-Source-Kreisen aber generell gerne Software "einfach so" zur Verfügung gestellt wird, war es klar, dass dieser Punkt irgendwann erreicht wird und man sich über eine neue Namensgebung der einzelnen Kernel-Versionen grundlegend Gedanken machen muss und zwar auf allen Ebenen. Laut Linus Torvalds sei es wahrscheinlich, dass bereits die bald erscheinende Version 2.6.13 in den Genuss einer neuer Namensgebung kommen wird. Im Gegensatz zur aktuelle praktizierten Vorgehensweise möchte man in Zukunft einfach alle ungeraden Kernel-Versionen per Definition als "UNSTABLE" deklarieren und in maximal 14 Tagen danach eine "ROCKSTABLE"-Version mit einer geraden Versions-Nummer nachschieben, wenn der aktuelle und ggf. für Fehler anfällige ungerade Kernel seine Reise um den Erdball durch die Datennetze gemacht hat und dabei eine Evolution durch die vielen Tausend Entwickler erlebt hat. Nur ein derart reparierter und für alle fit gemachter Kernel soll dann offiziell auf "kernel.org" veröffentlicht werden. Laut Linus Torvalds Beiträgen im USENET seien die Zyklen momentan einfach zwischen den einzelnen Version zu lang und es sei ihm klar, dass die Leute es hassen wenn sie eine der vielen Rück- & Vorwärts-Portierungen vorzunehmen haben. Somit wird zwar ein Kernel mit einer geraden Versions-Nummer keine Garantie darstellen um ein stabiles System zu fahren, eine gerade Versions-Nummer weise jedoch explizit auf die Absicht der Entwickler im aktuellen Release hin wie es abzulaufen habe. Das ständige Kernel-Tuning soll damit endgültig der Vergangenheit angehören. Wagemutige arbeiten mit einer ungeraden Version auf ihrer Maschine auf eigene Gefahr und kommen so in den Luxus neuen Features zu fahren, alle Anderen müssen ggf. ihre Ansprüche etwas zurücknehmen, haben dafür jedoch eine zumindest stabile Version laufen und dürfen sich mit ihrer Maschine in das Internet oder andere Datennetze trauen.



Frische Groopies!
Spätestens seit Knoppix & SlaX (wir berichteten) und dem Comback von OpenGL in Version 2.0 im letzten Sommer (wir berichteten) in Form von ID-Softwares "DOOM III" (wir berichteten) erfährt das GNU/Linux-OS vermehrt Zuwachs (wir berichteten) und das z.B.: Heute veröffentlichte OpenOffice in Version 2.0 ("STABLE" Beta) ist sicherlich für eine breitere Verbreitung mehr als förderlich. Gegenwärtig schlagen jedoch Kernel-Patch-Sets einen Sicherheitslücke nach der anderen tot. Andres Salomon, der den 2.6er Debian-Kernel als Maintainer verwaltet, schlug unterdessen vor, dass es an der Zeit sei ein geeignetes Kernel-Patch-Set zu veröffentlichen. Er sprach von dem Problem, dass die an sehr vielen Ecken im Internet in aller Ausführlichkeit veröffentlichten Dokumentationen der Sicherheitslücken nämlich dazu führen würden, dass auf einem System mit dem Kernel 2.6.x kaum ein stabiler Betrieb möglich sei, wenn der Angreifer informiert ist. Bis dato war dies nur in Ausnahmefällen bedingt möglich, eine Sicherheitslücke ausfindig zu machen und auch im großen Stil für sich zu nutzen - die breite Verbreitung des Kernels 2.6.9 und 2.6.10 führe jedoch genau zu diesem unangenehmen Missstand. Dabei hat Andres Salomon alleine für den 2.6.10 ganze 52 Patches in sein Kernel-Patch-Set integriert und viele aktuell bekannt gewordene Fehler behoben. Der im Vorfeld erwähnte PFH, der über den ELF-Binary-Loader einen Buffer-Overflow vor 2.4 auslöste und nach wie vor bis 2.6.11 über SSIZE_T erreichbar war, sei neben einer Reihe von vor erst wenigen Tagen veröffentlichten Problemen, ebenfalls gefixt. Das somit veröffentlichte Kernel-Patch-Set für den 2.6.10 sei somit ein gute Vorab-Lösung um einem neuem ggf. "dreckigen" 2.6.11 aus dem Weg zu gehen, aber dennoch die Feature-Vorzüge der 2.6.x Kernel-Serie zu nutzen.



Besserung auf anderem Weg?
Der von einigen Kernel-Team-Entwicklern eingebrachte Vorschlag eine zentrale aber geschlossene Anlaufstelle im Freimaurer-Logen-Stil zu erschaffen, die alle bekannten Fehler des Kernels auflistet, wurden jedoch von Linus Torvalds vehement zurück gewiesen. Es sei komplett gegen seine Idee eine elitäre Gruppe zu schaffen, die sozusagen ein Monopol auf Informationen einbehält - Torvalds halte es für besser, nach wie vor über diverse Mailing-Listen bzw. USENET-Newsgroups zu agieren und die Fehler nach wie vor öffentlich zu halten. Denn nur so hilft es Fehler auch schnell zu beseitigen. Der Nachteil dieser Methode, dass nämlich Andere mitlesen und die Fehler nutzen um in andere Systeme einzubrechen, müsse in Kauf genommen werden. Schließlich sei es nur so möglich, daas Problem in den Griff zu bekommen. Nicht verwunderlich, daas ausgerechnet Linus Torvalds diese Idee missfallen hat, eine geschlossene Liste als Anlaufstelle für Probleme zu benutzen und nur nach einem Empfehlungs-System neuen Mitgliedern Eintritt zu gewähren. Man könne schließlich nicht nach Microsofts Stil vorgehen und Sicherheitsprobleme durch Schweigen und Vergessen wieder verschwinden lassen (Prinzip: Security through obscurity). Alan Cox, der im Rahmen des FOSDEM (Free-and-Open-Source-Developers-European-Meeting) seit je her als Linux-Kernel-Programmierer tätig ist, liess die Gelegenheit ebenfalls nicht unversucht um einen Seitenhieb auszuüben und forderte mehr Koordination innerhalb des Kernel-Teams. Zwar sei das Kernel-Team rund um Linus Torvalds: "Ein genialer Haufen Entwickler, aber einer ist ein noch weitaus schrecklicherer Ingenieur als der Andere [...]" - eine geschickte Kritik. Insgesamt bleibt es noch Open-Source typisch gänzlich offen was in den kommenden Wochen passiert. Besserung ist auf jeden Fall in Sicht. Welche neuen Features für die nächsten Releases zu erwarten sind, wurde im Hinblick auf den neuen "gerade / ungerade"-Zeitplan nur sehr vage angedeutet. Ein neues mit ggf. neuen Feature-Sicherheitslücken behaftete Kernel-Release möchte man eher einbehalten und am aktuellen Problemen arbeiten. Man mache sich also im Kernel-Team, speziell im Torvalds-Lager, vermehrt Gedanken und begibt sich auf die Suche nach Fehlern und der Motivation für die Unterstützung für noch mehr 3D-Grafik-Support und einem ausgiebigem Treiber-Support für neue Hardware, insbesondere mobile Hardware. Erfreulich oder?

Abschließend bleibt zu sagen, dass der Kernel 2.6.11 zwar einiges bietet - jedoch nur in Systemen eingesetzt werden sollte, die auch entsprechend konfiguriert und manuell angepasst werden. Ein direkter Betrieb ist nicht zu empfehlen - einzig Andres Salomon 2.6.10er bleibt hier eine gute Wahl für all jene, die einfach ein aktuelles und schnelles System fahren wollen. Es bleibt letztlich nur darauf hinzuweisen, dass die Situation momentan überspitzer dargestellt wird als sie es letztendlich ist. Es ist und bleibt, dass der Linux-Kernel und insbesondere durch die Verbindung mit GNU-Software eine starke Software darstellt. Es ist und bleibt nicht nur ein Mythos, dass GNU/Linux funktioniert und stabil ist. In dem Sinne, gutes gelingen Kernel-Team, wir freuen uns auf das nächste Release und bedanken uns für das Produkt Linux-Kernel!



Bild: "gnu.org" - GNU & TUX, ein leistungsstarkes Gespann, dass mit GNU-Software und dem Linux-Kernel das Betriebssystem GNU/Linux bilden.


Was ist der Linux-Kernel?
Wer sich jetzt als irritierter Leser diese Frage stellt, dem sei als Antwort zu geben, dass dies an dieser Stelle nicht weiter behandelt wird. Dieser Artikel ist als "Kommentar mit Timestamp" zu sehen. Weiteres Informations-Material bezüglich GNU-Software und speziell dem Linux-Kernel bietet die deutsche Wikipedia. Als Refrenz verweisen wir gerne auf diesen Artikel, der weiterführende Links bietet. Viel Spaß beim lesen & stöbern!



Interessante Links zum Thema


» Kernel.org
» GNU.org
» Open-Source.org
» Debian.org
» LinuxHQ.com
» PRO-Linux.de
» Linux.de

 

Impressum 

"" 2002 - 2011. Alle Rechte vorbehalten.