Login
Newsletter
Werbung

Do, 17. April 2008, 10:24

Software::Kernel

Linux-Kernel 2.6.25 freigegeben

Linus Torvalds hat Version 2.6.25 des Linux-Kernels freigegeben, die unter anderem eine verbesserte Speicherzuteilung für Prozessgruppen, weitere Echtzeit-Features und viele neue Treiber enthält.

Etwas unter drei Monate dauerte es dieses Mal, die neue Kernel-Version fertigzustellen. Der neue Kernel bringt die zweitgrößte Zahl von Änderungen und neuen Features nach seinem Vorgänger 2.6.24. Das vollständige Änderungslog ist 7,4 Megabyte groß und damit das umfangreichste bisher. Kernel, Patch- und Änderungslog-Dateien sind von zahlreichen Spiegelservern von kernel.org herunterzuladen.

Nach einer Statistik, die Linus Torvalds beim ersten Release-Kandidaten des neuen Kernels aufstellte, sind von den 1,4 Millionen Zeilen, die ein diff zwischen den letzten beiden Versionen umfasst, 38% architekturspezifisch. Weitere 44% umfassen Treiber-Änderungen und neue Treiber. 8% der Änderungen entfielen auf den Netzwerkbereich, 4% auf die Dateisysteme und 2% auf die Dokumentation. Der kleine Rest ist weit verteilt. Die danach erfolgten Patches ändern diese Statistik nicht wesentlich.

Im neuen Kernel werden die Früchte der Vereinheitlichung der Architekturen i386 und x86_64 zur neuen Architektur x86 geerntet, indem duplizierte Dateien wieder zu einer zusammengefasst werden. Der Intel-Grafiktreiber macht nun Suspend und Resume. Daneben gibt es viele andere ACPI-bedingte Änderungen. Eine kleinere, aber tiefgreifende Änderung sind die Attribute für große Speicherseiten. Die Virtualisierung wurde mit IPC- und UTS-Namespaces sowie wie virtuellen I/O- und Netzwerktreibern zur Geschwindigkeitssteigerung weiterentwickelt.

In Kernel 2.6.24 wurden »Control Groups« eingeführt, die es ermöglichen, Prozesse zu Gruppen zusammenzufassen und auf einem bestimmten Prozessor auszuführen oder aus Sicht des Schedulers als Einheit zu nutzen. Sie können über ein virtuelles Dateisystem verwaltet. Sie werden nun auch genutzt, um die Speichervergabe zu steuern. Der »Memory Resource Controller« kann solche Gruppen nun vom Rest des Systems isolieren. Speicherhungrige Anwendungen können auf eine bestimmte Menge Speicher begrenzt werden, auch wenn sie aus mehreren Prozessen bestehen. Außerdem kann der Gruppen-Scheduler nun auch Echtzeit-Prozesse behandeln.

Eine Vielzahl von neuen Treibern wurde integriert, darunter einer für die PCI-Express-Variante der Intel e1000-Chips, CAN-Bus-Treiber, mehrere Sound- und Netzwerktreiber. Drei uralte, wohl nicht mehr funktionierende SCSI-Treiber wurden mangels Interesse entfernt. Die Krypto-Unterstützung wurde durch mehrere Algorithmen, darunter Salsa20, und den LZO-Kompressionsalgorithmus, erweitert. Auch das Dateisystem ext4 erhielt zahlreiche Updates.

Der RCU-Algorithmus ist nun unterbrechbar. Spinlocks wurden »fair« gemacht, da in bestimmten Situationen Prozesse zu sehr langen Wartezeiten gezwungen wurden. Die kernelseitige Unterstützung für LatencyTop wurde eingebaut. Profiling und Kernel-Marker hielten Einzug, und es ist nun möglich, die Adresse des Codes und des Heapspeichers eines Prozesses per Zufall zu wählen, um Angriffe zu erschweren. Nur bei sehr alten Rechnern sollte man diese Option abschalten. Die Speicher-Allokation der Prozesse lässt sich nun genauer messen. Ein neuer Systemaufruf ermöglicht, einen Datei-Deskriptor für einen Timer zu erhalten.

Nach einer Diskussion über die richtige Art, eine kurze Verzögerung zu erzielen, wie sie beim Zugriff auf Geräte manchmal nötig ist, werden verschiedene Methoden nun als Option bereitgestellt. Zur Wahl stehen das bisherige Verfahren mit einem Schreibzugriff auf Port 0x80, welches empfohlen ist, aber einige AMD64-Rechner abstürzen lässt. Die Alternative sind ein Schreibzugriff auf Port 0xed, eine Verzögerung mit Prozessorschleifen (wobei das Problem besteht, dass in der frühen Bootphase die Geschwindigkeit des Prozessors noch nicht bekannt ist), und gar keine Verzögerung. Nicht-x86-Rechner sowie viele moderne PCs sollten mit der letzten Option zurechtkommen.

SMACK (Simplified Mandatory Access Control) wurde als Alternative zu SELinux aufgenommen. Es bietet weniger Möglichkeiten, soll aber einfacher sein. Ferner wurde die Architektur mn10300 aufgenommen, zu der Mikrocontroller von MEI gehören.

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
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung