Login
Newsletter
Werbung

Mo, 4. Juni 2018, 13:07

Software::Kernel

Linux-Kernel 4.17 freigegeben

Linux-Initiator Linus Torvalds hat Version 4.17 des Linux-Kernels freigegeben. Durch zahlreiche Aufräummaßnahmen wurde der Kernel erstmals in der Geschichte kleiner.

Linus Torvalds, Initiator des Linux-Kernels

Linux Foundation

Linus Torvalds, Initiator des Linux-Kernels

Neun Wochen nach Linux 4.16 ist nun Linux 4.17 fertiggestellt. Wer nach der Ankündigung des ersten Veröffentlichungskandidaten spekuliert hatte, dass der neue Kernel zur Version 5.0 wird, sieht sich enttäuscht. Grund zu der Vermutung war Torvalds' Beobachtung, dass jetzt die Zahl von sechs Millionen Objekten in Git überschritten wurde. Dies wäre eigentlich ein Anlass, dem nächsten Kernel die Version 5.0 zu verpassen. Doch das ist nicht passiert und Torvalds will die Nutzer auch noch ein Weilchen im Unklaren lassen, wann der Wechsel von 4.x zu 5.0 kommt. Eine Bedeutung hat es nicht, wenn die Hauptversionsnummer hochgezählt wird, da die Zahl der Änderungen in jeder Version ungefähr gleich ist und inkompatible Änderungen grundsätzlich ausgeschlossen sind. Dessen ungeachtet wird Version 5.0 irgendwann kommen - laut Torvalds ungefähr bei 4.20. Denn Unterversionsnummern werden ab 20 unhandlich und kaum noch unterscheidbar; zudem stehen dann nicht mehr genug Finger und Zehen zum Zählen zur Verfügung.

Die Zahl der Änderungen in Linux 4.17 liegt mit über 13.400 etwas niedriger als in Linux 4.16, womit auch 4.17 zu den kleinsten Kerneln seit zwei Jahren gehört. Die Zahl der beitragenden Entwickler ging ebenfalls etwas zurück auf 1696. Dies dürften normale Schwankungen sein - was der nächste Entwicklungszyklus bringt, wird erst in zwei Wochen feststehen.

Eine bemerkenswerte Abweichung vom normalen Trend war zudem, dass Linux 4.17 der erste Kernel in der Geschichte ist, der kleiner ist als sein Vorgänger, gemessen an der Zahl der Codezeilen. Möglich wurde das durch die Entfernung einer massiven Menge von ungenutztem Code. So wurden nicht weniger als acht Architekturen komplett entfernt. Es handelt sich um die Microcontroller-Architekturen blackfin, cris, frv, m32r, metag, mn10300, score und tile, die alle nur eine kurze Blüte erlebten. Da sie aktuell wohl keine Benutzer mehr haben, fällt es nicht einmal auf, dass sie nun verschwinden und teils schon länger nicht mehr gepflegt wurden. Der Kernel wurde durch diese Maßnahme um 470.000 Zeilen Code kleiner. Zugleich wurde aber eine neue Architektur hinzugefügt: NDS32 von Andes Technologies.

Auch an anderer Stelle wurde der Kernel durch Aufräumarbeiten kleiner. Copyright-Vermerke wurden durch die Umstellung auf SPDX kleiner, einige Parser- und Lexer-Dateien wurden entfernt, weil sie generiert werden können, und obsolete Treiber wie Irda wurden entfernt.

Unter den sonstigen Änderungen des Kernels ragt keine besonders heraus. Der Systemaufruf perf_event_open erhielt die Möglichkeit, einen kprobe- oder uprobe-Tracepoint zu setzen. Außerdem wurden im Tracing-Subsystem Histogram-Trigger hinzugefügt. Im Scheduler wurde die Abschätzung der aktuellen Auslastung verbessert, was besonders im Mobil- und eingebetteten Bereich zu besseren Entscheidungen und damit auch mehr Energieeffizienz führen soll. Der Systemaufruf bpf kennt jetzt das Kommando BPF_RAW_TRACEPOINT, das ein BPF-Programm mit einem Tracepoint verknüpft, aber keine Verarbeitung der Tracepoint-Argumente vor dem Aufruf vornimmt.

Neu ist in der SPARC-Architektur die Unterstützung für »Application Data Integrity« und bei ARM die Unterstützung für das System Control and Management Interface (SCMI). Die Power-Architektur kann nun 4 Petabytes Speicher adressieren. Die Unterstützung für POWER4-Prozessoren wurde dagegen entfernt, da es auch für diese CPUs offenbar keine Benutzer mehr gab. Beim Dateisystem XFS kam die Mount-Option lazytime hinzu, während bei Btrfs nicht benutzte ioctl-Aufrufe zur Steuerung von Transaktionen entfernt wurden. CIFS erhielt Unterstützung für SMB 3.1.1 pre-authentication integrity. Die Unterstützung von SMB 3.1.1 wird außerdem nicht mehr als experimentell angesehen. Das Overlay-Dateisystem erhielt eine wichtige Verbesserung, die verhindert, dass für dieselbe Datei manchmal unterschiedliche Inode-Nummern angezeigt wurden.

Im Netzwerkbereich erhielt das Reliable Datagram Socket-Protokoll Unterstützung für Zero-Copy. BPF-Skripte können zum Filtern auch in sendmsg und sendfile verwendet werden. Nachdem bereits Teile des TLS-Protokolls im Kernel implementiert wurden, wurde dies jetzt um die Implementation der Empfänger-Seite erweitert. Eine weitere Änderung macht es möglich, mit BPF-Programmen die Arbeitsweise der Systemaufrufe bind und connect zu modifizieren. Diese Modifikation ist auf Basis von Control Groups.

Das Kommando perf script unterstützt jetzt Skripte in Python 3. Darüber hinaus nutzt der Kernel den asm goto-Befehl, der nur von GCC ab Version 4.5 unterstützt wird. Vorläufig lässt sich der Kernel also nicht mehr mit Clang generieren. Dazu kommen zwei interne Aufräumaktionen von größerer Reichweite: Zum einen wurde wait_on_atomic_one durch durch wait_event_var ersetzt, zum anderen wurden alle Systemaufrufe, die der Kernel selbst direkt aufrief, ersetzt.

Neue Kryptografie-Algorithmen sind Speck, ein Algorithmus, der schneller als AES sein soll, AES im Cipher Feedback-Modus, der für TPM2 benötigt wird, und SM4, ein für die Verwendung in China autorisierter Algorithmus mit 128 Bit Schlüssellänge. Das SCTp-Protokoll erhielt vollständige SELinux-Unterstützung und AppArmor wurde um die Kontrolle von Sockets erweitert.

Darüber hinaus wurden zahlreiche Treiber aktualisiert, erweitert oder kamen neu hinzu. Eine Liste aller Änderungen kann man dem Git-Repositorium entnehmen. 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: 2 || Alle anzeigen || Kommentieren )
Re: die heilige Versionsnummer (ichk, Fr, 8. Juni 2018)
die heilige Versionsnummer (homer, Di, 5. Juni 2018)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung