Zum Hauptinhalt Zur Navigation

Betriebssysteme: In Linux 4.3 fehlt der Ext3-Treiber

Linux 4.3 tritt in die Testphase ein, allerdings ohne den Treiber für das altehrwürdige Dateisystem Ext3. Eine andere Code-Antiquität wurde allerdings nach Protesten beibehalten.
/ Jörg Thoma
63 Kommentare News folgen (öffnet im neuen Fenster)
Die Testphase von Linux 4.3 wurde eröffnet. (Bild: Samuel Blanc/CC-BY 3.0)
Die Testphase von Linux 4.3 wurde eröffnet. Bild: Samuel Blanc/CC-BY 3.0

Mit der Freigabe von Linux 4.3rc1 hat Linus Torvalds die offizielle Testphase für die nächste Version des Linux-Kernels eingeläutet. Während der Treiber für das Dateisystem Ext3 entfernt wurde, gab es Diskussionen über den Verbleib des virtuellen 8086-Modus. Die Integration der Interprozesskommunikation Kdbus wurde hingegen abermals verschoben.

In Linux 4.3 wurde der Code des nativen Treibers für das Dateisystem Ext3 endgültig entfernt. Allerdings ließ sich Linus Torvalds zuerst bestätigen(öffnet im neuen Fenster) , dass das Dateisystem weiterhin vom Treiber des Nachfolgers Ext4 unterstützt wird. Wegen seiner Robustheit kommt es vielerorts weiterhin zum Einsatz, obwohl oder gerade weil es seit 2001 im Einsatz ist. Dazu trägt wesentlich auch die Journaling-Funktion bei, bei der Änderungen am Dateisystem als Metadaten festgehalten werden. Das sorgt nicht nur für ein weitgehend konsistentes Dateisystem nach einem Absturz, sondern verkürzt auch dessen Prüfung bei einem anschließenden Neustart.

Besseres Trimming

Beim Dateisystem Ext4 dürfen Nutzer jetzt selbst die Größe der zu löschenden Dateifragmente bestimmen. Bislang wurde der Wert anhand der maximalen Obergrenze der Trim-Funktion der jeweiligen SSD (Solid State Disk) bestimmt. Da dieser aber oftmals zu hoch ist, kann es zu erheblichen Verzögerungen beim Trimmen kommen, bei dem ungenutzte oder ungültige Datenblöcke zur späteren Wiederbeschreibung markiert werden. Mit der jetzt beschreibbaren Option discard_max_bytes lässt sich der maximale Wert händisch herabsetzen. Die Entwickler wollen demnächst einen sinnvolleren Standardwert ermitteln.

Beim Dateisystem Btrfs wurde ebenfalls am Trim-Befehl gearbeitet. Die jetzt eingereichten Patches sollen Trimming in einigen ausgefalleneren Szenarien ermöglichen. Zudem wurden Fehler im Raid5- beziehungsweise im Raid6-Code von Btrfs behoben, die auftraten, wenn Geräte aus einem solchen Raid-Verbund entfernt wurden. Im Treiber für das F2FS-Dateisystem wurde eine neue Funktion eingebaut, über die Anwendungen künftig Aufräumarbeiten anstoßen können. Zudem wurden die Speicherverwaltung und das Zwischenspeichern von Bereichen zusammenhängender Blöcke, den sogenannten Extents, verbessert. Letzteres wird jetzt standardmäßig beim Einbinden des Dateisystems aktiviert.

Schnellerer Start

Für etwas Aufregung sorgten Patches, die die Startzeiten von Linux auf x86-Systemen verbessern sollen. Sie optimieren in erster Linie die CPU-Last auf Mehrkernsystemen (Symmetric Multi-Processing, SMP). Neben Aufräumarbeiten am Code wurden mehrere Verzögerungen entfernt, die als überholt gelten. Code-Maintainer Ingo Molnar bittet darum, während der Testphase auf mögliche Auswirkungen zu achten(öffnet im neuen Fenster) , obwohl seine Tests bislang keine negativen Auswirkungen gezeigt haben.

Grafik und Netzwerk

Im Bereich Grafik erlebte der Treiber von Intel die wohl größten sichtbaren Änderungen. Nach diversen Aufräumarbeiten gilt der Code für Intels Skylake-Reihe jetzt als stabil und wird standardmäßig aktiviert. Allerdings müssen die Linux-Distributionen noch diverse weitere Treiber nachreichen, damit die Unterstützung vollständig funktioniert. Zudem werden die sogenannten Atomic-Mode-Settings unterstützt, die für effizientere automatische Bildschirmauflösungen durch die Kernel-Treiber sorgen sollen. Der Code gilt aber als noch nicht ganz ausgereift und wird erst in späteren Versionen des Treibers standardmäßig aktiviert, wie Entwickler Daniel Vetter in seinem Blog schreibt(öffnet im neuen Fenster) . Nebenbei wurde auch die Komprimierung des Bildspeichers auf Grafikkarten optimiert.

Im Zuge des in Linux 4.2 eingereichten neuen Amdgpu-Treibers wurde für den kommenden Linux-Kernel erster Code integriert, der AMDs neuen Grafikchip R9 Fury unterstützen soll. Allerdings muss auch dessen Unterstützung manuell aktiviert werden, weil sich bislang die Geschwindigkeitsstufe nicht anpassen lässt und die 3D-Funktionen nicht ausreichend umgesetzt werden können. Die von den Nouveau-Entwicklern für Linux 4.3 angekündigten großen Änderungen betreffen in erster Linie eine grundlegende Umgestaltung und Optimierung des Codes. Sie sollen die Basis für künftige Verbesserungen liefern.

IPv6 standardmäßig aktiv

IPv6 wird jetzt standardmäßig im Linux-Kernel aktiviert, da sich der Nachfolger des IPv4-Netzwerkprotokolls inzwischen weitgehend etabliert hat und immer mehr Verbreitung findet, wie Entwickler Tom Herbert in dem Changelog schreibt(öffnet im neuen Fenster) . Unterstützung für IPv6 gibt es unter Linux allerdings schon seit Jahren. Wenig dokumentiert ist der von Thomas Graf integrierte sogenannte Lightweight Tunnel. Das neue Netzwerkprotokoll soll laut Changelog die einfache Kapselung des Datenverkehrs in virtuellen Netzwerken ermöglichen und so etwa virtuelle Ports von Open vSwitch (OVS) als native Netzwerkgeräte darstellen können. Nebenbei erhielt das OVS-Subsystem ein neues Modul, über das das virtuelle Netzwerk auf die Verbindungsanalysewerkzeuge des Kernels zugreifen kann.

Mit den sogenannten Ambient Capabilities soll es künftig möglich sein, spezifische Root-Rechte an Anwendungen zu übergeben, die als einfacher Benutzer gestartet werden. Entwickler Andy Lutomirski führte dazu eine fünfte Capabilities-Maske(öffnet im neuen Fenster) ein, über die der Kernel die Rechte eines Prozesses prüft, die sogenannte Ambient Mask. So können beispielsweise Benutzerrechte an ansonsten privilegierte Anwendungen vererbt werden, etwa Netzwerkdienste. Bestehende Sicherheitsbarrieren wie Setuid oder Setgid lassen sich aber dadurch nicht aushebeln, schreibt Lutomirski in seiner ausführlichen Beschreibung des Patches(öffnet im neuen Fenster) . Ein Artikel bei LWN(öffnet im neuen Fenster) erklärt zudem die Evolution und die Problematik der Neuerung.

VM86 bleibt, Kdbus ist noch nicht dabei

Diskussionen gab es über die Entfernung des virtuellen 8086-Modus (VM86). Nachdem sich zahlreiche Entwickler dagegen ausgesprochen hatten, entschied Torvalds, die Funktion beizubehalten. VM86 stellt einen 16-Bit-Modus zur Verfügung. Ähnlich funktionierte diese Emulation, die weiland für 386-Prozessoren entwickelt wurde, noch unter Windows 95, 98 und ME . Sie erlaubt, Real-Mode-Anwendungen unter einem Protected-Mode-Betriebssystem zu verwenden. Grund für die Entfernung des Codes sind vor allem Sicherheitsbedenken. Torvalds schlug jetzt vor, den Parameter für die Speicheradressierung so zu setzen, dass VM86 standardmäßig unbrauchbar wird. Die meisten Distributionen haben ohnehin selbst höhere Werte gesetzt. Auswirkungen auf Dosemu sollen die Änderungen aber nicht haben.

Zunächst noch für Linux 4.3 angekündigt, hat es die umstrittene Interprozesskommunikation Kdbus wieder nicht in den neuen Kernel geschafft. Gründe wurden keine genannt. Zuletzt hatte der NSA-Mitarbeiter Stephen Smalley auf der Mailingliste Bedenken gegen eine Funktion in Kdbus geäußert(öffnet im neuen Fenster) , die allerdings von den Entwicklern wieder zerstreut wurden. Der Sicherheitsexperte Smalley war an der Entwicklung von SELinux (Security Enhanced Linux) und zuletzt SEAndroid (Security Enhanced Android) beteiligt.

Der Quellcode von Linux 4.3rc1 kann zum Testen auf der Webseite kernel.org heruntergeladen werden(öffnet im neuen Fenster) .


Relevante Themen