Die Veröffentlichung von Linux 6.8 brachte keine bahnbrechenden Änderungen mit sich, wie Linus Torvalds in seiner Ankündigung betonte. Diejenigen, die auf neue Dateisysteme, revolutionäre Funktionen und eine breite Palette an unterstützter Hardware gewartet hatten, wurden enttäuscht. Der einzige bemerkenswerte Neuzugang war der neue Grafiktreiber für Intel Xe. Dennoch bietet Linux 6.8 einige interessante Funktionen, auch wenn die meisten davon eher im Hintergrund wirken.
Bereits kurz nach der Veröffentlichung von Linux 6.8 wurde Linux 6.8.1 veröffentlicht. Es wird dringend empfohlen, dass alle Benutzer von Linux 6.8 das Update auf Version 6.8.1 durchführen, da es wichtige Sicherheits- und Fehlerkorrekturen enthält.
Eine der bemerkenswertesten Neuerungen in Linux 6.8 ist die Unterstützung von Rust im stabilen Linux-Kernel. Rust wurde offiziell mit Kernel 6.1 im Jahr 2022 eingeführt, konnte aber bisher nicht für die Entwicklung neuer Module oder Treiber genutzt werden. Mit der Veröffentlichung von Linux 6.8 steht nun erstmals ein praktischer und funktionsfähiger Treiber zur Verfügung, der in der Programmiersprache Rust entwickelt wurde. Dieser Treiber ermöglicht die Unterstützung des Fast-Ethernet-Controllers vom Typ AX88796B von Asix Electronics, der vor allem in industriellen Anwendungen im Bereich der eingebetteten Systeme eingesetzt wird.
Bereits im Linux-Kernel enthalten ist ein Treiber für den AX88796B, der in C geschrieben ist. Die Rust-Version des Treibers implementiert die Funktionen des C-Treibers vollständig. Standardmäßig ist der C-Treiber im Linux-Kernel aktiviert. Um die Rust-Version zu verwenden, muss beim Konfigurieren des Kernels vor dem Build der Schalter AX88796B_RUST_PHY ausgewählt werden.
Die Entscheidung, einen bereits bestehenden und funktionierenden Treiber in Rust neu zu implementieren, ist eine kluge Strategie. Da der Treiber sowohl in C als auch in Rust vorhanden ist, ermöglicht dies einen praktischen Vergleich und sinnvolle Tests zwischen Rust und C. Für den Fall eines neuen Treibers für bisher nicht unterstützte Hardware wäre eine solche Möglichkeit nicht gegeben gewesen.
Mit der Implementierung von Abstraktionsschichten legt das Entwicklerteam außerdem den Grundstein für physische Netzwerktreiber. Künftige Netzwerktreiber haben die Möglichkeit, entweder in C oder Rust programmiert zu werden.
Ein weiterer Schwerpunkt von Linux 6.8 liegt auf der Planung im Kernel, also der Verteilung der Rechenzeit auf die verschiedenen konkurrierenden Prozesse. Nachdem der Standard-Scheduler bereits in Linux 6.6 grundlegend überarbeitet wurde, erfährt dieser Bereich in Linux 6.8 weitere Verbesserungen.
Der neue Scheduler EEVDF (Earliest Eligible Virtual Deadline First), der in Linux 6.6 eingeführt wurde, wird optimiert. Durch die Implementierung eines Fastpath-Mechanismus kann die Auswahl der auszuführenden Aufgaben effizienter gestaltet werden. Erste Tests zeigen, dass der O(1) Fastpath tatsächlich die Auswahl der Aufgaben und somit die Effizienz des Schedulers verbessert.
Im Bereich der Echtzeitanwendungen verbessert der neue Kernel den Deadline-Scheduler, der auf dem grundlegenden Konzept der POSIX Realtime Scheduling Classes basiert. Dieser Scheduler ermöglicht es, dass Echtzeit-Aufgaben, die einen bestimmten Rechenzeitbedarf und eine Deadline haben, priorisiert werden. Um zu verhindern, dass Echtzeit-Aufgaben die normalen Aufgaben vernachlässigen und das System beeinträchtigen, wird eine feste CPU-Zeitreservierung für administrative Aufgaben eingeführt.
Standardmäßig sind fünf Prozent der Ressourcen für administrative Aufgaben reserviert, während die restlichen 95 Prozent für Echtzeitverarbeitung zur Verfügung stehen. Diese Lösung trägt den Namen Realtime Throttling. Allerdings bleiben die fünf Prozent CPU-Zeit ungenutzt, wenn es keine niedrig priorisierten Aufgaben gibt. Um dieses Problem zu lösen, wird in Linux 6.8 der Deadline-Server eingesetzt. Niedrig priorisierte Aufgaben werden in eine separate Klasse innerhalb des Deadline-Servers verschoben, sodass sie bevorzugt in Echtzeit verarbeitet werden. Der Deadline-Server gibt einen CPU-Bedarf von lediglich fünf Prozent an und verteilt die ungenutzten fünf Prozent CPU-Zeit an die Echtzeit-Prozesse, wenn er keine Aufgaben hat.
Mit Linux 6.8 wurden also einige interessante Funktionen und Verbesserungen eingeführt, auch wenn sie nicht sofort sichtbar sind. Die Unterstützung von Rust für die Entwicklung von Treibern eröffnet neue Möglichkeiten, und der optimierte Scheduler verbessert die Effizienz des Kernels. Die Verbesserungen im Bereich der Echtzeitanwendungen sorgen dafür, dass das System immer ausreichend Ressourcen für administrative Aufgaben hat. Insgesamt ist Linux 6.8 ein solides Update, das sowohl in Bezug auf Sicherheit als auch auf Leistung empfohlen wird.
Schlagwörter: Linux + Rust + Linus Torvalds
Wie bewerten Sie den Schreibstil des Artikels?
