Veröffentlicht wird Asterinas 0.18.0 â ein experimentelles Betriebssystem und Kernel, die in Rust geschrieben wurden und mit Linux ABI kompatibel sind. Das Projekt wird als Versuch positioniert, eine "produktionsreife" Alternative zu Linux zu schaffen, die sich auf Speichersicherheit, Leistung und die AusfĂŒhrung einer normalen Linux-Benutzerumgebung konzentriert. Der Code von Asterinas ist offen und auf 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 wurde darauf aufmerksam gemacht Phoronix.
Der Schwerpunkt der Veröffentlichung liegt darauf, Asterinas fĂŒr die Verwendung als Gastbetriebssystem fĂŒr VM-basierte Kata Containers und Confidential Containersvorzubereiten. DafĂŒr wurden dem Kernel die fehlenden Low-Level-Mechanismen hinzugefĂŒgt: Namespaces, cgroups, virtio-fs, virtio-rng und ein ĂŒberarbeiteter vsock fĂŒr den Datenaustausch zwischen Host und Gastsystem.
Liste der wichtigsten Ănderungen:
Vorbereitung fĂŒr den Start in Kata Containers und Confidential Containers.
Asterinas 0.18 macht einen wichtigen Schritt in Richtung AusfĂŒhrung als Gastbetriebssystem innerhalb isolierter Container-Virtual Machines. Dies ist wichtig fĂŒr Szenarien, in denen Container nicht direkt auf dem Host-Kernel ausgefĂŒhrt werden, sondern innerhalb einer separaten VM, einschlieĂlich confidential computing-Umgebungen.UnterstĂŒtzung fĂŒr Namespaces.
Der Kernel hat IPC-Namespaces und cgroup-Namespaces sowie nsfs mit der Darstellung von Namespaces ĂŒber /proc/[pid]/ns hinzugefĂŒgt. Dies bringt Asterinas nĂ€her an das Isolationsmodell fĂŒr Prozesse, das von Linux-Containern verwendet wird.Erste UnterstĂŒtzung fĂŒr cgroups.
Der PID-Sub-Controller und partielle UnterstĂŒtzung fĂŒr den CPU-Sub-Controller wurden implementiert. Insbesondere hat es die Statistiken cpu.stat sowie Platzhalter fĂŒr die Grenzwertdateien cpu.weight und cpu.max gegeben. Dies ist noch keine vollstĂ€ndige Implementierung des gesamten cgroups-Mechanismus, aber bereits eine notwendige Grundlage fĂŒr Container-Szenarien.virtio-fs fĂŒr den Austausch des Dateisystems mit dem Host.
Die UnterstĂŒtzung fĂŒr virtio-fs wurde hinzugefĂŒgt, die es dem Gastsystem ermöglicht, das vom Host bereitgestellte Dateisystem zu verwenden. 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 hinzugefĂŒgt mit Export der Hardware-Entropie ĂŒber /dev/hwrng. Dies ist notwendig fĂŒr das richtige Funktionieren kryptographischer Operationen und Zufallszahlengeneratoren innerhalb des Gastbetriebssystems.Ăberarbeiteter vsock.
vsock wurde vollstĂ€ndig neu geschrieben â ein Kommunikationsmechanismus zwischen dem Host und der GĂ€ste-VM. Im Kontext von Kata Containers und Confidential Containers ist dies wichtig fĂŒr SteuerkanĂ€le, Agenten und den Dienstkontakt zwischen VM und Laufzeitumgebung.Ptrace und UnterstĂŒtzung fĂŒr die Debugging von Userspace ist verfĂŒgbar.
Der Systemaufruf ptrace sowie die wichtigsten 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. Es wurden Dokumentationen fĂŒr die geprĂŒfte Nutzung und CI-Tests hinzugefĂŒgt.Neuer NVMe-Treiber.
Der NVMe-Treiber wurde in die Blockschicht integriert. Dies erweitert die Möglichkeiten von Asterinas im Umgang mit modernen Speichermedien und bringt das System nÀher an den praktischen Einsatz auf realer und virtualisierter Serverhardware.Völlig neu geschriebener EXT2-Treiber.
Das Dateisystem EXT2 wurde von Grund auf neu implementiert. Die Entwickler verbinden dies mit einer allgemeinen Modernisierung des Storage-Stacks: Das Dateisystem soll zuverlĂ€ssiger und besser fĂŒr den Betrieb einer realen Benutzerumgebung geeignet sein.Ănderungen in VFS und Page Cache.
Dem VFS wurde ein Mechanismus zur Dentry-Revalidierung hinzugefĂŒgt, die Implementierung des Page Cache wurde ĂŒberarbeitet, pivot_root wurde implementiert, und die UnterstĂŒtzung fĂŒr O_TMPFILE bei open/openat wurde eingefĂŒhrt. AuĂerdem wurde ein Fehler im Page Cache behoben, der zu einer Leckage von nicht initialisiertem Speicher im Userspace fĂŒhren konnte.Erweiterung von procfs.
Die folgenden EintrĂ€ge wurden hinzugefĂŒgt: /proc/mounts, /proc/[pid]/auxv, /proc/[tid], zusĂ€tzliche EintrĂ€ge in /proc/[pid]/maps und mountstats. Dies erhöht die KompatibilitĂ€t mit Linux-Anwendungen und Diagnosetools, die auf die gewohnte Struktur von /proc angewiesen sind.Netzwerkverbesserungen.
Neben dem neu geschriebenen vsock gibt es nun erste UnterstĂŒtzung fĂŒr IPv6, Korrekturen in der Implementierung von UDP und eine ĂberprĂŒfung der Berechtigungen beim Binden an privileged Ports: Der Bind-Versuch an solche Ports wird jetzt ohne CAP_NET_BIND_SERVICE abgelehnt.Mechanismus fĂŒr Capabilities und erstes LSM-Framework.
In der Version wurde die Implementierung von Capabilities, die UnterstĂŒtzung des Capability Bounding Sets, Korrekturen bei Systemaufrufen im Zusammenhang mit den Anmeldeinformationen sowie das erste Framework fĂŒr LSM eingefĂŒhrt. Dies ist Teil der Arbeiten zur AnnĂ€herung des Sicherheitsmodells von Asterinas an Linux.Verbesserungen bei PCI, TTY und Konsole.
Die Erkennung von PCI-GerĂ€ten wurde verbessert, UnterstĂŒtzung fĂŒr PCI ECAM auf x86 hinzugefĂŒgt, UnterstĂŒtzung fĂŒr mehrere TTYs, die NS16550A UART-Konsole, /dev/ttyS0 und den Parameter console=ttyS0 implementiert. Dies optimiert auch die Bearbeitung von Tastatureingaben.Erweiterung von Asterinas NixOS.
In Asterinas NixOS werden nun ĂŒber 100 beliebte Pakete, einschlieĂlich Codex, QEMU und Firefox, ĂŒberprĂŒft. FĂŒr Firefox wurde zusĂ€tzlich die UnterstĂŒtzung von ARCH_GET_GS und ARCH_SET_GS hinzugefĂŒgt.Neue Testpakete.
Im Projekt sind Linux kselftest, xfstests, Standardtests von Go, Python und JDK sowie QEMU-Tests fĂŒr Virtualisierungsanwendungen integriert. Dies ist ein wichtiges Zeichen fĂŒr das Wachstum des Projekts: Asterinas wird zunehmend unter realen Linux-Belastungen getestet.Ănderungen in OSTD und OSDK.
In OSTD wurde das crate log durch eine eigene Logging-API ersetzt, die DMA-API ĂŒberarbeitet, ein Framework fĂŒr typisierte Speicheroperationen hinzugefĂŒgt und das Pod-Refactoring unter Verwendung von zerocopy durchgefĂŒhrt. Eine Docker-Umgebung fĂŒr ARM/aarch64 wurde fĂŒr die Entwicklung hinzugefĂŒgt.Dokumentation aktualisiert.
Im Asterinas Book wurden Kodierungsrichtlinien, eine Soundness-Analyse fĂŒr OSTD sowie Dokumentationen zu Kata Containers und Confidential Containers hinzugefĂŒgt. Dies betont, dass das containerbasierte Virtualisierungsszenario zu einem der Hauptschwerpunkte des Projekts geworden ist.
Asterinas 0.18 kann nicht als Ersatz fĂŒr Linux im tĂ€glichen Gebrauch betrachtet werden, aber das Release bringt das Projekt deutlich in Richtung praktischer Server- und Containerszenarien voran. Besonders wichtig sind drei Aspekte: die KompatibilitĂ€t mit Linux-Programmen, die UnterstĂŒtzung von Isolationsmechanismen und die Funktionsweise in VM-basierten Containerumgebungen.
Quelle: linux.org.ru
