lanzamiento del proyecto , que permite formar sistemas operativos de una sola aplicación, donde la aplicación se entrega como un «unikernel» autosuficiente, capaz de ejecutarse sin la utilización de sistemas operativos, un núcleo de OS separado y sin capas intermedias. Para el desarrollo de aplicaciones se utiliza el lenguaje OCaml. El código del proyecto bajo la licencia ISC.
Toda la funcionalidad de bajo nivel, característica de un sistema operativo, se implementa en forma de una biblioteca que se adjunta a la aplicación. La aplicación puede desarrollarse en cualquier sistema operativo, después de lo cual se compila en un núcleo especializado (concepto ), que puede ejecutarse directamente sobre hipervisores Xen, KVM, BHyve y VMM (OpenBSD), sobre plataformas móviles, en forma de proceso en un entorno compatible con POSIX o en entornos en la nube como Amazon Elastic Compute Cloud y Google Compute Engine.
El entorno generado no contiene nada superfluo e interactúa directamente con el hipervisor sin controladores ni capas de sistema, lo que permite lograr una reducción significativa de la sobrecarga y un aumento en la seguridad. Trabajar con MirageOS se reduce a tres etapas: preparación de la configuración definiendo los paquetes , construcción del entorno y ejecución del entorno. El runtime para asegurar la operación sobre Xen se basa en un núcleo recortado , mientras que para otros hipervisores y sistemas basados en el núcleo .
A pesar de que las aplicaciones y bibliotecas se forman en un lenguaje de alto nivel como OCaml, los entornos finales muestran un rendimiento bastante bueno y un tamaño mínimo (por ejemplo, un servidor DNS ocupa solo 200 Kb). También se simplifica el mantenimiento de los entornos, ya que cuando es necesario actualizar la aplicación o cambiar la configuración, se puede crear y ejecutar un nuevo entorno. Se soportan en el lenguaje OCaml para realizar operaciones de red (DNS, SSH, OpenFlow, HTTP, XMPP, etc.), trabajar con almacenamiento y asegurar el procesamiento paralelo de datos.
Los principales cambios en la nueva versión están relacionados con la implementación de soporte para nuevas características ofrecidas por la herramienta (entorno aislado para ejecutar unikernel):
- Se ha añadido la posibilidad de ejecutar unikernel MirageOS en un entorno aislado («sandboxed process tender»), proporcionado por la herramienta Al utilizar el backend spt, los núcleos de MirageOS se ejecutan en procesos de usuario de Linux, a los que se les aplica un mínimo aislamiento basado en seccomp-BPF;
- Se ha implementado el soporte del proyecto Solo5, que permite definir varios adaptadores de red y dispositivos de almacenamiento conectados al unikernel con aislamiento basado en backends hvt, spt y muen (el uso de los backends genode y virtio está actualmente limitado a un dispositivo);
- Se ha mejorado la protección de los backends basados en Solo5 (hvt, spt), por ejemplo, se ha proporcionado la construcción en modo SSP (Stack Smashing Protection).
Fuente: opennet.ru
