Das Asterinas-Projekt entwickelt einen Kern in der Programmiersprache Rust, der mit Linux kompatibel ist.

Eine Gruppe von Entwicklern aus China arbeitet an dem Asterinas-Kern, der in Rust geschrieben wurde und für die Verwendung in allgemeinen Betriebssystemen vorgesehen ist. Um die Integration mit bereits entwickelten Systemkomponenten zu erleichtern, bietet der Kern eine ABI (Application Binary Interface), die mit dem Linux-Kern kompatibel ist und als Ersatz verwendet werden kann. Der Code des Projekts wird unter der Lizenz MPL (Mozilla Public License) verbreitet.

Das Projekt entwickelt sich seit Herbst 2022 und hat sich zum Ziel gesetzt, bereits in diesem Jahr einen Stand zu erreichen, der für eine breite Anwendung geeignet ist. virtuellen Maschinen wurde vereinfacht. mit x86-64-Architektur. Ab dem nächsten Jahr liegt der Fokus auf der Implementierung von Hardwareunterstützung und anderen CPU-Architekturen. Zu den priorisierten Anwendungsbereichen gehören Systeme, die auf Linux ABI basieren, aber ein höheres Maß an Sicherheit erfordern. Beispielsweise wird Asterinas vorgeschlagen, um geschützte Systemumgebungen zu schaffen. virtuellen Maschinen, für dessen Isolierung Technologien wie ARM CCA, AMD SEV und Intel TDX verwendet werden, sowie auf der Seite des Hostsystems, das die Ausführung von Containern ermöglicht.

Um die Wahrscheinlichkeit von Fehlern im Umgang mit dem Speicher zu verringern, der die Hauptquelle für die gefährlichsten Schwachstellen darstellt, wurde bei der Entwicklung von Asterinas die Programmiersprache Rust und die Strategie der eingeschränkten Verwendung von unsafe-Blöcken eingesetzt. Der Kernel basiert auf der Framekernel-Architektur, in der die Entwickler versucht haben, die Isolationseigenschaften von Mikrokernen mit der Effizienz von Monokernen zu kombinieren.

Die Komponenten des Kernels in Asterinas werden im gemeinsamen Adressraum platziert, wobei die Sicherheit durch logische Trennung von sicherem Code und potenziell unsicherem Code erreicht wird. Der Kernel ist in zwei Teile unterteilt, die in Rust geschrieben sind: OS Framework und OS Services. In OS Services ist die Verwendung von unsafe-Blöcken untersagt, und alle Low-Level-Operationen, die die Ausführung von Code in unsafe-Blöcken erfordern, wurden ins OS Framework ausgelagert und sind nur über eine hochrangige API zugänglich. Alle Systemaufrufe, Dateisysteme und Treiber werden auf der Ebene von OS Services implementiert und dürfen keine unsafe-Blöcke enthalten.

Bei der Entwicklung von Systemdiensten und Kernmodulen wird empfohlen, das OSDK (Operating System Development Kit) zu verwenden, das das cargo-osdk-Tool zur Erstellung, Kompilierung, Testung und Ausführung von Komponenten des Betriebssystems bereitstellt. Für Entwickler steht eine Sammlung von OSTD-Bibliotheken (Operating System Standard Library) zur Verfügung, die eine angepasste Version der Standardbibliotheken von Rust (crate std) darstellt, die für die Verwendung in Betriebssystemkomponenten optimiert ist.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster