Login
Newsletter
Werbung

Mo, 30. März 2020, 12:48

Software::Kernel

Linux-Kernel 5.6 freigegeben

Linux-Initiator Linus Torvalds hat Version 5.6 des Linux-Kernels freigegeben. Die neue Version bringt WireGuard, USB4 und viele weitere Optimierungen und Verbesserungen.

Linus Torvalds

Hans-Joachim Baader

Linus Torvalds

Neun Wochen nach Linux 5.5 ist nun Linux 5.6 fertiggestellt. Mit über 12.650 Änderungen fällt Linux 5.6 fast 2.000 Änderungen kleiner aus als die Vorversion. Torvalds vermutet, dass das eine verspätete Auswirkung von Weihnachten und Neujahr ist. Die COVID-19-Pandemie hat seiner Ansicht nach keine großen Auswirkungen auf die Kernel-Entwicklung, obgleich es möglich ist, dass einige Änderungen zu spät für die nächste Version kommen.

Selten dürften sich Anwender so auf eine neue Kernel-Version gefreut haben wie auf 5.6. Denn die Änderungen haben es in sich. So wird nun USB4 unterstützt und der lange Weg von WireGuard in den Kernel ist abgeschlossen. WireGuard ist ein VPN-Tunnel, der für sich in Anspruch nimmt, schneller, einfacher und nützlicher als IPsec zu sein. Doch WireGuard brachte anfänglich seine eigenen kryptografischen Funktionen mit, die die Funktionalität im Kernel duplizierten. Eine lange Auseinandersetzung resultierte, da die Kernel-Entwickler keine duplizierte Funktionalität akzeptieren wollten. Dabei erkannten sie aber an, dass die von WireGuard mitgebrachten Funktionen die bessere Schnittstelle aufwiesen, die Schnittstellen im Kernel dagegen suboptimal sind und die korrekte Nutzung der Kryptografie erschweren. Daher wurden die neuen Schnittstellen mit Linux 5.5 in den Kernel übernommen, was die nun erfolgte Aufnahme von WireGuard ermöglichte.

Die MPX-Funktionalität der neueren Intel_CPUs wird jetzt nicht mehr unterstützt, da sie sich als Rohrkrepierer erwies. Auch die Compiler GCC und Clang unterstützen MPX nicht mehr. In der ARM64-Architektur wird jetzt E0PD unterstützt, was die Vorteile der Kernel Page Table Isolation bringt, aber keine Geschwindigkeitseinbußen verursacht. Die RNG-Instruktion, die ab ARMv8.5 vorhanden ist, wird zur Initialisierung des Zufallsgenerators verwendet.

Zu den Namensräumen im Kernel kam jetzt auch noch ein Zeit-Namensraum hinzu. Eine der ersten Anwendungen ist eine korrekte Behandlung der Zeit, wenn ein Container zwischen Hosts migriert wird. Auch BPF erhielt neue Funktionalität, darunter einen Dispatcher und zusammengefasste Map-Operationen sowie dynamische Programmerweiterungen, die es ermöglichen, globale Funktionen zu laden oder gar zur Laufzeit zu ersetzen. Ebenfalls recht weitreichend ist der neue BPF-Programmtyp BPF_PROG_TYPE_STRUCT_OPS, der es ermöglicht, bestimmte Kernel-Funktionen durch BPF-Programme zu ersetzen. Die erste Anwendung dieser Funktionalität ist die Implementierung eines TCP-Stauvermeidungsalgorithmus in BPF.

Die neue Idle Injection kann eine CPU, die zu überhitzen droht, zwangsweise für kurze Zeit anhalten. Ferner wurde der Systemaufruf openat2 hinzugefügt. Dieser verfügt über neue Flags, die definieren, wie das System Pfade behandelt. So kann man verbieten, symbolischen Links oder »magischen« Links zu folgen, in andere (gemountete) Dateisysteme zu wechseln oder außerhalb eines Unterverzeichnisses zu suchen.

Im Netzwerkbereich kam die Queue-Disziplin enhanced transmission selection scheduler hinzu, die Teil der 802.1Qaz-Spezifikation ist. Neu ist auch der Paket-Scheduler Flow Queue PIE, der vor allem für Kabelmodems gedacht ist und das Problem der zu großen Puffer bekämpfen soll. Multipath TCP, eine seit langem nur außerhalb des Kernels gepflegte Funktionalität, wird nun in den Kernel kommen, in Linux 5.6 wird aber nur die Basis dafür gelegt.

Das Dateisystem Btrfs erhielt eine asynchronous discard-Option und F2FS unterstützt jetzt Kompression. Das Dateisystem vboxfs, das den Zugriff auf gemeinsame Ordner in VirtualBox ermöglicht, wurde nun aufgenommen. Neu ist auch Zonefs, ein simples System, das es ermöglicht, jede Zone eines in Zonen aufgeteilten Gerätes als Datei zu exportieren. Die Kernel-Funktionen ioremap_nocache und devm_ioremap_nocache wurden entfernt, da ioremap nun dafür ausreicht.

Ferner löst Linux 5.6 das Jahr-2038-Problem für 32-Bit-Systeme. Darüber hinaus kamen auch wieder Treiber für zahlreiche Chips aller Art hinzu. Die zahlreichen weiteren Änderungen sind im Änderungslog von Git zu finden. Die Seite Kernelnewbies.org wird in Kürze eine übersichtliche Zusammenfassung der Änderungen veröffentlichen. Die aktuelle Version von Linux kann von kernel.org und zahlreichen Spiegel-Servern in Form von Patches oder tar-Paketen heruntergeladen werden.

Werbung
Kommentare (Insgesamt: 12 || Alle anzeigen )
Re[4]: iwlmvm,iwlwifi,mac80211 (Bruno, Do, 2. April 2020)
Re[3]: iwlmvm,iwlwifi,mac80211 (Bruno, Do, 2. April 2020)
Re[5]: iwlmvm,iwlwifi,mac80211 (0byte, Mi, 1. April 2020)
Re[4]: iwlmvm,iwlwifi,mac80211 (0byte, Mi, 1. April 2020)
Re[2]: iwlmvm,iwlwifi,mac80211 (Bruno, Di, 31. März 2020)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung