Sortie de MirageOS 3.6, une plateforme pour exécuter des applications sur un hyperviseur

A eu lieu lancement du projet Mirage OS 3.6, qui vous permet de créer des systèmes d'exploitation pour une seule application, dans laquelle l'application est livrée sous la forme d'un « unikernel » autonome qui peut être exécuté sans utiliser de systèmes d'exploitation, de noyau de système d'exploitation distinct et de couches. Le langage OCaml est utilisé pour développer des applications. Code de projet distribué par sous licence gratuite ISC.

Toutes les fonctionnalités de bas niveau inhérentes au système d'exploitation sont implémentées sous la forme d'une bibliothèque attachée à l'application. L'application peut être développée sous n'importe quel système d'exploitation, après quoi elle est compilée dans un noyau spécialisé (le concept unikernel), qui peut s'exécuter directement sur les hyperviseurs Xen, KVM, BHyve et VMM (OpenBSD), sur les plates-formes mobiles, en tant que processus dans un environnement compatible POSIX, ou dans les environnements cloud Amazon Elastic Compute Cloud et Google Compute Engine.

L'environnement généré ne contient rien de superflu et interagit directement avec l'hyperviseur sans pilotes ni couches système, ce qui permet une réduction significative des frais généraux et une sécurité accrue. Travailler avec MirageOS se résume en trois étapes : préparer la configuration avec identification de celles utilisées dans l'environnement Forfaits OPAM, construire l'environnement et lancer l'environnement. Le runtime à exécuter sur Xen est basé sur un noyau allégé Mini-OS, et pour d'autres hyperviseurs et systèmes basés sur le noyau Solo5.

Malgré le fait que les applications et les bibliothèques soient créées dans le langage OCaml de haut niveau, les environnements résultants démontrent d'assez bonnes performances et une taille minimale (par exemple, le serveur DNS ne prend que 200 Ko). La maintenance des environnements est également simplifiée, puisque s'il est nécessaire de mettre à jour le programme ou de modifier la configuration, il suffit de créer et de lancer un nouvel environnement. Prise en charge plusieurs dizaines de bibliothèques dans le langage OCaml pour effectuer des opérations réseau (DNS, SSH, OpenFlow, HTTP, XMPP, etc.), travailler avec le stockage et assurer le traitement parallèle des données.

Les principaux changements de la nouvelle version sont liés à la prise en charge des nouvelles fonctionnalités proposées dans la boîte à outils. Solo5 0.6.0 (environnement sandbox pour exécuter unikernel) :

  • Ajout de la possibilité d'exécuter MirageOS unikernel dans un environnement isolé spt (« appel d'offres de processus bac à sable ») fourni par la boîte à outils Solo5. Lors de l'utilisation du backend spt, les noyaux MirageOS s'exécutent dans des processus utilisateur Linux auxquels une isolation minimale est appliquée sur la base de seccomp-BPF ;
  • Support mis en œuvre manifeste d'application du projet Solo5, qui vous permet de définir plusieurs adaptateurs réseau et périphériques de stockage connectés à un unikernel de manière isolée en fonction des backends hvt, spt et muen (l'utilisation pour les backends genode et virtio est actuellement limitée à un seul périphérique) ;
  • La protection des backends basés sur Solo5 (hvt, spt) a été renforcée, par exemple, la construction en mode SSP (Stack Smashing Protection) a été prévue.

Source: opennet.ru

Ajouter un commentaire