Home Programmierung Linux 3.17: Das sind die Neuerungen in der neuen Version

Die Foundation hat den in Version 3.17 herausgegeben. Der erhalte, so gab Linus Torvalds bekannt, weniger aufregende Neuerungen als das beim Vorgänger der Fall gewesen sei. So wurden 14 ungepflegte Treiber aus dem Code hinaus geworfen. Das sparte laut Torvalds rund 250000 Zeilen Code, was dafür sorgt, dass die neue Version des Kernels etwas kleiner ist als der Vorgänger. Weiterhin gibt es Neuerungen beim Rendering. In der Version 3.12 wurden Rendering Nodes eingeführt. Diese sind in der neuen Version standardmäßig aktiviert und werden aktiv genutzt. Das ermöglicht es, dass Anwendungen wie XServer trotz einfacher Rechte im System die Bildschirmauflösung bei der Grafikkarte problemlos ändern können. Zudem können zwei XServer Instanzen gleichzeitig laufen, die zwei verschiedene Monitore mit zwei verschiedenen Auflösungen bedienen.

funktionieren wieder mit voller Energieverwaltung

Weiterhin wurden einige Probleme behoben. So funktioniert die Energieverwaltung von AMD-Chips jetzt auch wieder mit den Cayman-, Barts-, Caicos- und Turks-Chipsätzen. Außerdem gibt es jetzt eine Unterstützung für die Radeon-Karten R9 290 und 290X, die mit dem Hawaii-Chipsatz arbeiten. Der Code war hier bereits in der Kernel-Version 3.16 eingepflegt, wurde aber jetzt erst aktiviert. Außerdem wurde eine neue Methode entwickelt, um Radeon-Karten noch einfacher in das System zu integrieren. Auch die Funktion kernel_fw_from_file() wurde erweitert. Damit lässt sich jetzt noch einfacher Firmware auf die Tauglichkeit für die Nutzung mit Linux erproben. Intel hat bei der neuen Kernel-Version zahlreiche Verbesserungen für den hauseigenen i915-Treiber nachgeliefert. Damit soll unter anderem der Energieverbrauch des Chipsatzes drastisch gesenkt werden. So wird der PM Runtime Energiesparmodus für Display Power Management Signaling auch dann eingeschaltet, wenn DPMS deaktiviert ist und nicht nur dann, wenn es komplett ausgeschaltet ist. Außerdem wurde für Haswell- und Broadwell-Chips Panel Self Refresh (PSR) aktiviert. Das bedeutet, dass das aktuelle Bild in den Grafikspeicher geladen wird und als Refresh verwendet wird, es sei denn der Bildschirminhalt ändert sich. Das entlastet sowohl die Recheneinheit in der Grafikkarte als auch den Energieverbrauch.

Neuer Ruhezustand für Intels Haswell-Prozessoren verfügbar

Eine weitere Neuerung ist, dass der Ruhezustand S0ix, der für die Haswell-Prozessoren von Intel entwickelt wurde in der neuen Version des Linux-Kernels erstmals unterstützt wird. Dabei kommt Runtime Power Management zum Einsatz. Intel hat zudem einige Code-Strukturen im Bezug auf Backlightning und den Power Sequencer repariert. Auch die Interprozesskommunikation wurde in der neuen Version des Kernels verbessert. Damit kann jetzt Dateideskriptoren statt der vollständigen Datei verwenden. Die Datei wird durch einen Versiegelungsprozess so geschützt, dass keine Änderungen daran vorgenommen werden. Der Inhalt oder auch Ausschnitte daraus werden jedoch in den Speicher geladen. Damit soll mehr Leistung aus dem System bei der Verarbeitung von großen Dateimengen herausgekitzelt werden. Kdbus und auch der neue Grafikserver Wayland sollen im Wesentlichen von dieser neuen Funktion profitieren.

Linux 3.17 kann jetzt besser mit Zufallszahlen umgehen

Mit dem neuen Systemaufruf getrandom(2) wurde ebenfalls eine neue Funktion integriert, die gleich zwei alte Funktionen mit /dev/random und /dev/urandom entfernt. Damit sollen Zufallszahlen generiert werden. Die vorherigen Zufallsfunktionen wurden stark durch LibreSSL-Entwickler kritisiert. Für diese Vorgänge waren Dateisystemoperationen nötig, die manchmal auch scheitern konnten. Zum Beispiel wenn keine Filehandles mehr zur Verfügung standen. Zudem ist /dev nicht immer gemountet. Der neue Befehl behebt diese Probleme. Für OpenBSD ist diese Lösung schon längere Zeit verfügbar. Die LibreSSL-Entwickler hatten gefordert diese Neuerung auch unter Linux einzusetzen. Zudem unterstützt das System jetzt Hardware Random Number Generators (HWRNG), womit Zufallszahlen über einen Thread geholt werden können. Außerdem ist jetzt ein Deterministic Random Bit Generator (DRBG) enthalten, den das National Institute of Standards and Technology (NIST) in einer Empfehlung vorgeschlagen hatte. Damit sind Hash_DRBG, CTR_DRBG und HMAC_DRBG enthalten, wobei nur der letzte von diesen Programmteilen aktiviert ist. Die anderen müssen beim Kompilieren von Hand aktiviert werden.

USB funktioniert jetzt über TCP/IP

Eine weitere Neuerung in Linux 3.17 ist, dass externe Geräte von anderen Rechnern über TCP/IP angeschlossen werden können. Der Code des USB/IP-Stacks wurde dabei aus dem experimentellen Code-Bereich übernommen. USB/IP wurde von einem gleichnamigen Projekt entwickelt. Entsprechende Windows-Treiber wurden ebenfalls bereits bereitgestellt – sie stammen von den ReactOS-Entwicklern. Zudem wurden erste Arbeiten für das Hotplugging in Linux 3.17 mit I/O Advanced Programmable Interrupt Controller (I/O Apic) integriert. Mit I/O Apic können Hardware-Interrupts besser verwaltet werden. Jedoch müssen für eine Nutzung noch Änderungen am Apic-Code vorgenommen werden. In der neuen Version wurde die Unterstützung der Irqdomain in das APIC-Subsystem integriert. Damit sollen später die Interrupts in I/O Apic verwaltet werden.

Multiqueue-Block-Layer-Unterstützung in Linux 3.17 ausgeweitet

Schon mit Linux 3.12 haben die Entwickler versucht eine Multiqueue-Block-Layer-Unterstützung in das SCSI-Subsystem zu integrieren. Seitdem wurden mehrere Treiber angepasst. Mit mehreren Warteschleifen soll der Zugriff auf Datenträger, zum Beispiel SSD’s, beschleunigt werden. Ebenfalls neu in dem Kernel ist die Funktion kexec_file_load(). Damit soll direkt nach der Aktualisierung ein neuer Kernel ohne Neustart des Systems geladen und genutzt werden können. Außerdem wird eine Signaturprüfung durchgeführt um Sicherheitsprobleme zu verhindern. Der neue Kernel unter unter kernel.org heruntergeladen und kompiliert werden. In die Linux-Distributionen dürfte er in den nächsten Wochen automatisch einfließen.