Die neue Ausgabe wurde veröffentlicht Asterinas 0.18.0 — ein experimentelles Betriebssystem und Kernel, die in Rust geschrieben sind und auf Kompatibilität mit Linux ABI ausgerichtet sind. Das Projekt wird als Versuch positioniert, eine 'production-grade' Alternative zu Linux zu schaffen, mit Fokus auf Speichersicherheit, Leistung und der Ausführung einer typischen Linux-Benutzerumgebung. Der Code von Asterinas ist offen und wird bereitgestellt unter GitHub, die Hauptlizenz des Projekts ist MPL 2.0. Die Veröffentlichung Asterinas 0.18.0 wurde am 4. Juni 2026 veröffentlicht, und am 9. Juni erregte es die Aufmerksamkeit von Phoronix.
Das Hauptziel der Veröffentlichung ist die Vorbereitung von Asterinas zur Nutzung als Gastbetriebssystem für VM-basierte Kata Containers und Confidential Containers. Dazu wurden dem Kernel fehlende Low-Level-Mechanismen hinzugefügt: Namespaces, cgroups, virtio-fs, virtio-rng und ein überarbeiteter vsock für den Datenaustausch zwischen Host und Gästesystem.
Liste der wichtigsten Änderungen:
Vorbereitung für den Einsatz in Kata Containers und Confidential Containers.
Asterinas 0.18 macht einen wichtigen Schritt in Richtung der Nutzung als Gastbetriebssystem innerhalb isolierter containerbasierter virtueller Maschinen. Dies ist entscheidend für Szenarien, in denen Container nicht direkt auf dem Host-Kernel laufen, sondern innerhalb einer separaten VM, insbesondere in vertraulichen Rechenumgebungen.Unterstützung für Namespaces.
Im Kern wurden IPC-Namespace und cgroup-Namespace sowie nsfs eingeführt, um Namensräume über /proc/[pid]/ns darzustellen. Dies bringt Asterinas näher an das Isolationsmodell von Prozessen, das in Linux-Containern verwendet wird.Erste Unterstützung für cgroups.
PID-Subcontroller wurde implementiert und es gibt teilweise Unterstützung für den CPU-Subcontroller. Insbesondere sind die Statistiken cpu.stat sowie Platzhalter für die Dateien cpu.weight und cpu.max verfügbar. Dies ist noch keine vollständige Umsetzung des gesamten cgroups-Mechanismus, aber bereits eine notwendige Grundlage für Container-Szenarien.virtio-fs für den Dateisystemaustausch mit dem Host.
Unterstützung für virtio-fs wurde hinzugefügt, die es dem Gastsystem ermöglicht, das vom Host bereitgestellte Dateisystem zu nutzen. Für VM-Container ist dies einer der Schlüsselmechanismen für die Datenübertragung ohne schwere Umgehungslösungen.virtio-rng und /dev/hwrng.
virtio-rng wurde mit dem Export von Hardware-Entropie über /dev/hwrng hinzugefügt. Dies ist für den normalen Betrieb kryptografischer Operationen und Zufallszahlengeneratoren innerhalb des Gast-Betriebssystems erforderlich.Überarbeiteter vsock.
Der vollständig überarbeitete vsock ist ein Kommunikationsmechanismus zwischen dem Host und der virtuellen Maschine. Im Kontext von Kata Containers und Confidential Containers ist dies wichtig für Steuerkanäle, Agenten und den Dienstwechsel zwischen VM und Ausführungsumgebung.ptrace wurde eingeführt und unterstützt die Debugging-Tools für den Userspace.
Der Systemaufruf ptrace und die grundlegenden Operationen PTRACE_SETOPTIONS, PTRACE_SYSCALL, PTRACE_PEEK und PTRACE_POKE wurden implementiert. Dadurch können auf Asterinas gängige Debugging-Tools wie GDB und strace verwendet werden. Dazu kommt dokumentierte bewährte Nutzung und CI-Überprüfungen.Neuer NVMe-Treiber.
Ein NVMe-Treiber wurde in die Blockschicht aufgenommen. Dies erweitert die Funktionen von Asterinas zur Interaktion mit modernen Speichermedien und bringt das System näher an die praktische Nutzung auf realer sowie virtualisierter Serverhardware.Der EXT2-Treiber wurde vollständig überarbeitet.
Das Dateisystem EXT2 wurde von Grund auf neu implementiert. Die Entwickler verbinden dies mit einer umfassenden Modernisierung des Storage-Stacks: Die Dateisubsysteme sollen zuverlässiger und besser für den Betrieb einer realen Benutzerumgebung geeignet werden.Änderungen im VFS und im Page-Cache.
Im VFS wurde der Mechanismus zur Dentry-Revalidierung hinzugefügt, die Implementierung des Page-Caches überarbeitet, pivot_root realisiert, Unterstützung für O_TMPFILE bei open/openat hinzugefügt und ein Fehler im Page-Cache behoben, der zu einem Leck nicht initialisierter Speicherbereiche im Userspace führen konnte.Erweiterung von procfs.
Es wurden /proc/mounts, /proc/[pid]/auxv, /proc/[tid] sowie zusätzliche Einträge in /proc/[pid]/maps und mountstats hinzugefügt. Dies erhöht die Kompatibilität mit Linux-Anwendungen und Diagnosewerkzeugen, die eine vertraute Struktur von /proc erwarten.Netzwerkverbesserungen.
Neben einem neu geschriebenen vsock gibt es eine erste Unterstützung für IPv6, Änderungen an der UDP-Implementierung und eine Berechtigungsprüfung beim Binden an privilegierte Ports: Das Binden an solche Ports wird nun ohne CAP_NET_BIND_SERVICE abgelehnt.Mechanismus für Berechtigungen und erster LSM-Framework.
Das Release enthält die Implementierung von Berechtigungen, Unterstützung für das Capability Bounding Set, sowie Korrekturen von Systemaufrufen im Zusammenhang mit Credentials und das erste Gerüst des LSM. Dies ist Teil der Arbeit, das Sicherheitsmodell von Asterinas an Linux anzunähern.Verbesserungen bei PCI, TTY und Konsole.
Die Erkennung von PCI-Geräten wurde verbessert, Unterstützung für PCI ECAM auf x86 hinzugefügt, mehrere TTYs, die NS16550A UART-Konsole, /dev/ttyS0 und die Konsole=ttyS0-Einstellung implementiert. Zudem wurde die Interaktion mit der Tastatur optimiert.Erweiterung Asterinas NixOS.
In Asterinas NixOS werden nun über 100 gängige Pakete geprüft, darunter Codex, QEMU und Firefox. Für Firefox wurde zusätzlich die Unterstützung von ARCH_GET_GS und ARCH_SET_GS hinzugefügt.Neue Test-Set.
Das Projekt integriert Linux kselftest, xfstests, Standardtests für Go, Python und JDK sowie QEMU-Tests für Virtualisierungsanwendungen. Dies ist ein wichtiger Hinweis auf die Reifung des Projekts: Asterinas wird zunehmend unter realen Linux-Lasten getestet.Änderungen in OSTD und OSDK.
In OSTD wurde das crate log durch eine eigene Logging-API ersetzt, die DMA-APIs überarbeitet und ein Framework für typisierte Speicheroperationen hinzugefügt sowie das Pod unter Verwendung von zerocopy refaktoriert. Für die Entwicklung wurde eine Docker-Umgebung für ARM/aarch64 hinzugefügt.Aktualisierung der Dokumentation.
In Asterinas Book wurden Kodierungsrichtlinien, Soundness-Analysen für OSTD sowie Dokumentationen zu Kata Containers und Confidential Containers hinzugefügt. Dies hebt hervor, dass das containerbasierte Virtualisierungsszenario zu einem der Hauptschwerpunkte des Projekts geworden ist.
Asterinas 0.18 kann nicht als Ersatz für Linux im Alltag betrachtet werden, aber die Veröffentlichung bringt das Projekt deutlich in Richtung praktischer Server- und Containeranwendungen. Besonders wichtig sind drei Aspekte: die Kompatibilität mit Linux-Programmen, die Unterstützung von Isolationsmechanismen und die Funktionalität in VM-basierten Container-Umgebungen.
Quelle: linux.org.ru
