Login
Newsletter
Werbung

Mo, 4. März 2019, 08:12

Software::Kernel

Linux-Kernel 5.0 freigegeben

Linux-Initiator Linus Torvalds hat Version 5.0 des Linux-Kernels freigegeben. Die neue Version bringt AMD Freesync, macht den Scheduler energiesparender und enthält viele weitere Optimierungen und neue Funktionen.

Linus Torvalds

Hans-Joachim Baader

Linus Torvalds

Zehn Wochen nach Linux 4.20 ist nun Linux 5.0 fertiggestellt. Statt die neue Version wie erwartet letzte Woche zu veröffentlichen, fügte Linus Torvalds eine weitere Woche zum Testen ein, da seiner Ansicht in der Woche davor zu viele Fehlerkorrekturen einflossen. Diese zusätzliche Zeit zahlte sich aus, da noch eine Reihe weiterer Korrekturen aufgenommen werden konnten. Dass die neue Versionsnummer 5.0 statt 4.21 ist, liegt aufgrund der kontinuierlichen Entwicklung des Kernels nicht an geänderter Funktionalität. Wie Torvalds nochmals betonte, will er lediglich zu unhandliche Nummern vermeiden. Er macht dieses Zahlenproblem dadurch deutlich, dass er nicht genug Finger und Zehen habe, um auf 21 zu zählen.

Mit über 12800 Änderungen ist die Zahl der Änderungen etwas kleiner ausgefallen als in der vorhergehenden Versionen. Sie verteilen sich wie immer über alle Bereiche des Kernels. Zu den zahlreichen Änderungen in Linux 5.0 gehört das Dateisystem Binderfs. Es ist ein virtuelles Dateisystem, das das Binder-Subsystem von Android steuern kann. Das Dateisystem Btrfs kann jetzt wieder Swap-Dateien enthalten, wobei es einige Einschränkungen gibt. Weder Copy-on-Write noch Kompression sind erlaubt, was für Swap-Dateien ohnehin keinen Sinn ergibt. Swap-Dateien müssen ferner auf einer einzelnen Disk liegen. Wie angekündigt, wurde die alte Blockebene, die mit einer einzelnen Warteschlange pro Gerät arbeitet, entfernt, da nun alle Treiber im Kernel die neue Version mit mehreren Warteschlangen nutzen. Mit fanotify kann man sich jetzt auch benachrichtigen lassen, wenn eine Datei zum Ausführen geöffnet wurde.

Der Scheduler wurde so geändert, dass er ein neues Energieverbrauchsmodell benutzt. Damit sollen seine Entscheidungen zu niedrigerem Energieverbrauch führen, besonders bei Mobilgeräten. Diverse Hersteller, die bisher ähnlichen Code einsetzten, können jetzt möglicherweise ihre eigenen Patches aufgeben. Die Aufrufe ppoll, pselect6, io_pgetevents, recvmmsg, futex und rt_sigtimedwait erhielten 64-Bit-Versionen auf 32-Bit-Systemen. Dies ist ein weiterer Schritt auf dem Weg zur Behebung des Jahr 2038-Problems bei 32-Bit-Systemen.

Eine der Schutzmaßnahmen gegen Spectre, die Retpolines, wurden jetzt, ein Jahr nach der Bekanntgabe der Meltdown- und Spectre-Fehler, in ihrer Effizienz deutlich gesteigert. Vielfach wurden indirekte Aufrufe, die ohnehin nicht gerade effizient sind, durch direkte Aufrufe ersetzt. Umgesetzt wurden jetzt die ersten beiden Punkte, die in diesem Artikel beschrieben sind. Weitergehende Maßnahmen, die den Kernel-Code im laufenden Betrieb patchen, sind in Vorbereitung.

Der AMDGPU-Treiber für AMD-Grafikchips wurde im FreeSync erweitert, eine Synchronisationstechnologie für LC-Displays, die eine Anpassung der Bilderneuerungsrate an die Ausgabe einer Anwendung ermöglicht. Damit wird Flackern vermieden und Bewegungen können gleichmäßiger wahrgenommen werden.

Der cpuset-Controller funktioniert jetzt auch mit Control Groups V2. Dabei wurden einige Funktionen entfernt, die nach Meinung des Patch-Autors nicht genutzt werden oder woanders besser aufgehoben wären. Bei UDP-Sockets kann man nun Generic Receive Offload (GRO) aktivieren, was die Leistung erheblich steigern kann. Außerdem unterstützen UDP-Sockets jetzt die Option MSG_ZEROCOPY. Diese reduziert die Zahl der Kopiervorgänge, doch da sie nicht immer in einer gesteigerten Leistung resultiert, ist sie nicht standardmäßig eingeschaltet.

Die in Russland entwickelte Hash-Funktion Streebog wurde in den Kernel aufgenommen. Als Ersatz für die verdächtige Verschlüsselung Speck kam Adiantum hinzu, zusammen mit den Algorithmen XChaCha12 und XChaCha20. Dies soll eine schnelle und sichere Verschlüsselung auch auf Geräten mit weniger Leistung ermöglichen. Ferner unterstützt der Kernel jetzt die Sicherheits-Funktionen von NVME.

Die Prozessor-Trace-Funktion von Intel kann nun auch von virtuellen Maschinen unter KVM genutzt werden. Neu bei ARM64 sind der Aufruf kexec_file_load, 52 Bit lange virtuelle Adressen für Anwenderprozesse, Speicher-Hotplug, erweiterter Stack-Schutz und Pointer Authentication, vorerst nur für Anwenderprozesse.

Darüber hinaus kamen auch wieder Treiber für zahlreiche Chips aller Art hinzu. Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. Die Seite Kernelnewbies.org hat eine übersichtliche Zusammenfassung der Änderungen veröffentlicht. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Werbung
Pro-Linux
Pro-Linux @Twitter
Neue Nachrichten
Werbung