Login
Login-Name Passwort


 
Newsletter
Werbung

Mo, 14. Juli 2008, 11:35

Software::Kernel

Linux-Kernel 2.6.26 freigegeben

Linus Torvalds hat Version 2.6.26 des Linux-Kernels freigegeben, die unter anderem den Kernel-Debugger, schreibgeschützte Bind-Mounts und viele neue Treiber enthält.

Etwas unter drei Monate dauerte es auch dieses Mal, die neue Kernel-Version fertigzustellen. Die ursprüngliche Hoffnung von Linus Torvalds, das Ziel früher zu erreichen, erfüllte sich nicht. Zwar erfolgten trotz einer immensen Zahl von Neuerungen und Verbesserungen keine tiefgreifenden Änderungen. Dennoch dauerte es lange, bis die Entwickler die in der Testphase gefundenen Fehler und Regressionen beseitigt hatten. Letztendlich dürfte Linux 2.6.26, gemessen am Umfang des Patches, das drittgrößte Update aller Kernel bisher sein, dicht hinter seinen beiden Vorgängern. Beim Umfang des Änderungslogs liegt es an zweiter Stelle, möglicherweise begünstigt durch längere Einträge. Dies zeigt, dass die Entwicklungsgeschwindigkeit sich nicht verringert, sondern im letzten Jahr eher zugenommen hat.

Die Änderungen betreffen laut einer Statistik von Torvalds selbst zu 40% die Treiber, weitere 20% die verschiedenen Architekturen. Der Rest verteilt sich auf das Netzwerk-Subsystem, Dateisysteme und vieles andere.

Eine nicht sehr große, aber bedeutende Änderung ist die Aufnahme des Kernel-Debuggers kgdb, der von Ingo Molnar, Thomas Gleixner und anderen von vielen Hacks und Problemen bereinigt wurde. Linus Torvalds hatte früher immer die Ansicht vertreten, dass ein Debugger allenfalls dazu gut sei, zu sehen, was im Kernel vorgeht, und sich bislang gegen eine Integration von kgdb oder kdb gesperrt. Nun ist die Integration offenbar so sauber, dass er keine technischen Einwände gegen den Debugger mehr hat.

Die lange Zeit außerhalb des Kernels entwickelte x86 PAT-Unterstützung wurde nun aufgenommen. Page Attribute Table ermöglicht es, Attribute für jede Speicherseite einzeln zu setzen. Es ist ein Hardware-Feature, das MTRR ergänzt, aber flexibler ist. Die MTRR-Schnittstellen im Kernel sind nun ein Auslaufmodell.

Eine vereinfachte Variante von memtest wurde in den Kernel aufgenommen, weil dies nach Ansicht der Entwickler praktisch ist. Sie kann mit einem Bootparameter aktiviert werden.

Eine weitere Neuerung ist die Unterstützung für das XO-Laptop. Entfernt wurde die Möglichkeit, Binärdateien von SunOS und Solaris auszuführen, für die sich ohnehin niemand zu interessieren schien. Ferner wurde der architekturspezifische Code für Semaphoren durch eine generische Implementation in C ersetzt. Dies wurde möglich, da die meiste Synchronisation im Kernel inzwischen mit Mutexes arbeitet und Semaphoren nun nicht mehr geschwindigkeitskritisch sind.

Unter den neuen Treibern, die zum Kernel hinzukamen, findet man einen für Solarstorm SFC4000-Netzwerk-Chips sowie Treiber in i2c, USB und ALSA. Ferner wurde die Unterstützung für verschiedene CPU-Boards erweitert. Einige weitere Soundchips werden nun unterstützt, darunter TI DAVINCI, Asus AV100 und Emagic Audiowerk 2. PC-Lautsprecher verfügen nun über einen Treiber, der sie wie Soundkarten behandelt. Kameras und weitere Geräte im V4L-Bereich besitzen nun Linux-Treiber. Für Xen gibt es virtuelle Framebuffer, Tastaturen, Mäuse und den »Balloon«-Treiber. Mehrere veraltete Treiber wurden, wie schon vor einem Jahr angekündigt, entfernt, da sie durch neue Treiber ersetzt wurden: bcm43xx und sk98lin für Broadcom- und SysKonnect-Netzwerkchips, der veraltete WLAN-Stack und der Cardbus-Treiber xircom_tulip_cb.

PCI Express Active State Power Management wird nun unterstützt. Die Network Address Translation (NAT) wurde auf die Protokolle SCTP, DCCP und UDP-Lite ausgeweitet. Die Virtualisierung wurde weiter ausgebaut, unter anderem mit weiteren Netzwerk-Namespace-Patches. Der Hypervisor KVM im Kernel wurde auf die Architekturen IA64, PPC und s390 portiert. Für Virtualisierung auf Container-Basis wurde die Möglichkeit geschaffen, den Zugriff auf reale Geräte zu regeln.

Die mac80211-Schicht unterstützt nun vermaschte Netze (IEEE 802.11s), wenn auch noch experimentell. Die x86-Architektur wurde auf Stacks von 4 KB (für Kernel-Threads) umgestellt. Obwohl einige Distributoren schon lange diese Änderung verwenden, ist sie umstritten. Diese Größe ist jetzt zwar die Standardeinstellung, aber es bleibt weiterhin den Distributoren überlassen, wie sie ihre Kernel erstellen.

SELinux kann nun einzelne Domains von allen Prüfungen ausschließen, so dass sie so laufen, als wäre SELinux gar nicht vorhanden. Auch der Echtzeit-Gruppen-Scheduler wurde weiter verbessert.

Bind-Mounts können nun eine nicht änderbare Sicht auf ein normalerweise änderbares Dateisystem anbieten. Begleitend dazu wurde eine neue Pseudodatei proc/pid/mountinfo geschaffen, die mehr Informationen über Mount-Punkte als /proc/mounts bietet.

Es gibt nun »securebits«, die für jeden Prozess definiert werden können. Sie können in gewissem Maß die Rechte eines Prozesses einschränken, selbst wenn dieser als Root läuft. Ein Prozess kann diese Bits für sich selbst und seine Kindprozesse setzen, allerdings auch nur, wenn er die Rechte dafür hat.

Eine Liste aller Änderungen enthält das sehr ausführliche Changelog. Die Seite Kernelnewbies.org hat eine übersichtliche Zusammenfassung der Änderungen veröffentlicht. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Mirror-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Werbung
Kommentare (Insgesamt: 51 || Alle anzeigen || Kommentieren )
Re[4]: betriebssysteme (Matthias Wille, Mi, 16. Juli 2008)
Re[2]: [OT] Re[2]: KVM Performance (Christian, Mi, 16. Juli 2008)
Re: Patches (Martin Dauskardt, Mi, 16. Juli 2008)
Re: [OT] Re[2]: KVM Performance (DriverDevel, Di, 15. Juli 2008)
Re: Zuviele Änderungen (furanku, Di, 15. Juli 2008)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung