MirageOS est un projet fascinant : il s’agit d’une bibliothèque système d’exploitation permettant de créer des unikernels pour des applications sécurisées ou hautes performances destinées aux réseaux, au cloud, aux plateformes mobiles, etc. Ces unikernels peuvent être compilés sous GNU/Linux et d’autres systèmes d’exploitation de type Unix, et peuvent également s’exécuter sur l’hyperviseur KVM ou Xen pour la virtualisation.
Pour ce faire, MirageOS utilise OCaml, un langage doté de bibliothèques offrant des fonctionnalités pour la gestion du réseau, le stockage et d'autres fonctions système. La dernière version, MirageOS 3.0 , est sortie en février 2017. Les personnes intéressées peuvent la télécharger et trouver plus d'informations sur le projet sur mirage.io.
Pour ceux qui ne connaissent pas les unikernels , il s'agit de structures spécialement conçues pour n'utiliser que le minimum de bibliothèques système nécessaires à l'exécution d'une application donnée. Cela évite de virtualiser l'intégralité du système d'exploitation et améliore les performances globales. Le code de l'application, les bibliothèques et cet unikernel générique sont compilés pour s'exécuter directement sur un hyperviseur ou un matériel, sans intervention du système d'exploitation.
Et il ne s'agit pas seulement de performances (nécessitant seulement 4 % de la taille d'un système d'exploitation traditionnel, et grâce à des pilotes optimisés), mais aussi d'une sécurité renforcée grâce à la réduction de la quantité de code déployée pour exécuter l'application, limitant ainsi les risques d'attaques. Sans oublier sa polyvalence et son importance pour les applications modernes. C'est pourquoi on voit fleurir des projets comme MirageOS, OSV, Runtime.js, IncludeOS, HermitCore, HaLVM, Clive, Grafene, ClickOS, et bien d'autres.