Veröffentlichung von MirageOS 3.6, einer Plattform zum Ausführen von Anwendungen auf einem Hypervisor

fand statt Projektfreigabe Mirage OS 3.6, mit dem Sie Betriebssysteme für eine einzelne Anwendung erstellen können, wobei die Anwendung als eigenständiger „Unikernel“ bereitgestellt wird, der ohne die Verwendung von Betriebssystemen, einem separaten Betriebssystemkernel und jeglichen Schichten ausgeführt werden kann. Die OCaml-Sprache wird zur Entwicklung von Anwendungen verwendet. Projektnummer vertrieben von unter der kostenlosen ISC-Lizenz.

Die gesamte Low-Level-Funktionalität des Betriebssystems wird in Form einer Bibliothek implementiert, die der Anwendung beigefügt ist. Die Anwendung kann in jedem Betriebssystem entwickelt werden und anschließend in einen speziellen Kernel (das Konzept) kompiliert werden Unikernel), das direkt auf den Hypervisoren Xen, KVM, BHyve und VMM (OpenBSD), auf mobilen Plattformen, als Prozess in einer POSIX-kompatiblen Umgebung oder in den Cloud-Umgebungen Amazon Elastic Compute Cloud und Google Compute Engine ausgeführt werden kann.

Die generierte Umgebung enthält nichts Überflüssiges und interagiert direkt mit dem Hypervisor ohne Treiber oder Systemschichten, was eine deutliche Reduzierung der Gemeinkosten und eine erhöhte Sicherheit ermöglicht. Die Arbeit mit MirageOS besteht aus drei Phasen: Vorbereiten der Konfiguration und Identifizieren derjenigen, die in der Umgebung verwendet werden OPAM-Pakete, Aufbau der Umgebung und Einführung der Umgebung. Die Laufzeit zur Ausführung auf Xen basiert auf einem abgespeckten Kernel Mini-Betriebssystemund für andere Hypervisoren und Kernel-basierte Systeme Solo5.

Obwohl Anwendungen und Bibliotheken in der Hochsprache OCaml erstellt werden, weisen die resultierenden Umgebungen eine recht gute Leistung und eine minimale Größe auf (der DNS-Server nimmt beispielsweise nur 200 KB ein). Auch die Wartung von Umgebungen wird vereinfacht, da es ausreicht, eine neue Umgebung zu erstellen und zu starten, wenn das Programm aktualisiert oder die Konfiguration geändert werden muss. Unterstützt mehrere Dutzend Bibliotheken in der OCaml-Sprache, um Netzwerkoperationen (DNS, SSH, OpenFlow, HTTP, XMPP usw.) durchzuführen, mit der Speicherung zu arbeiten und eine parallele Datenverarbeitung bereitzustellen.

Die wichtigsten Änderungen in der neuen Version beziehen sich auf die Bereitstellung der Unterstützung für die neuen Funktionen des Toolkits Solo5 0.6.0 (Sandbox-Umgebung zum Ausführen von Unikernel):

  • Es wurde die Möglichkeit hinzugefügt, Unikernel MirageOS in einer isolierten Umgebung auszuführen spt („Sandboxed Process Tender“), bereitgestellt durch das Toolkit Solo5. Bei Verwendung des spt-Backends werden MirageOS-Kernel in Linux-Benutzerprozessen ausgeführt, auf die eine minimale Isolation basierend auf seccomp-BPF angewendet wird.
  • Unterstützung implementiert Anwendungsmanifest aus dem Solo5-Projekt, mit dem Sie mehrere Netzwerkadapter und Speichergeräte definieren können, die isoliert an einen Unikernel angeschlossen sind, basierend auf HVT-, SPT- und Muen-Backends (die Verwendung für Genode- und Virtio-Backends ist derzeit auf ein Gerät beschränkt);
  • Der Schutz von Backends auf Basis von Solo5 (hvt, spt) wurde verstärkt, beispielsweise wurde der Aufbau im SSP-Modus (Stack Smashing Protection) bereitgestellt.

Source: opennet.ru

Kommentar hinzufügen