MirageOS 3.9 llega con rediseño del hipervisor y con ello grandes mejoras
La nueva version de MirageOS 3.9 ya fue liberada y en esta nueva version se presentan cambios importantes, tales como la rediseño del hipervisor Xen lo cual permito obtener grandes mejoras con el Unikernel, lo cual se traduce en mayor rendimiento.
Para quienes desconocen de MirageOS, deben saber que este es un sistema que permite formar sistemas operativos de una aplicación, en la que la aplicación se suministra como un «unikernel» autosuficiente capaz de ejecutarse sin usar sistemas operativos, un kernel de SO separado y cualquier capa.
El lenguaje OCaml se utiliza para el desarrollo de aplicaciones. El código del proyecto se distribuye bajo la licencia ISC gratuita.
Toda la funcionalidad de bajo nivel inherente al sistema operativo se implementa en forma de una biblioteca adjunta a la aplicación. La aplicación se puede desarrollar en cualquier sistema operativo, después de lo cual se compila en un kernel especializado (concepto unikernel), que se puede ejecutar directamente sobre los hipervisores Xen, KVM, BHyve y VMM (OpenBSD), en plataformas móviles, como un proceso en un entorno compatible con POSIX o en entornos de nube 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 del sistema, lo que puede reducir significativamente la sobrecarga y aumentar la seguridad.
Trabajar con MirageOS se reduce a tres etapas: preparar la configuración con la definición de los paquetes OPAM utilizados en el entorno, construir el entorno e iniciar el entorno.
El tiempo de ejecución para proporcionar trabajo sobre hipervisores se basa en el núcleo Solo5.
A pesar de que las aplicaciones y bibliotecas se generan en el lenguaje OCaml de alto nivel, los entornos resultantes demuestran un rendimiento bastante bueno y un tamaño mínimo (por ejemplo, un servidor DNS solo ocupa 200 KB).
El mantenimiento de entornos también se simplifica, ya que si necesitas actualizar el programa o cambiar la configuración, basta con crear e iniciar un nuevo entorno. Se admiten varias docenas de bibliotecas OCaml para realizar operaciones de red (DNS, SSH, OpenFlow, HTTP, XMPP, etc.), trabajar con almacenamientos y proporcionar procesamiento de datos en paralelo.
Principales novedades de MirageOS 3.9
Esta nueva version presenta como principal novedades el rediseño del hipervisor Xen permitió que MirageOS unikernel funcionara en modo PVHv2, que combina elementos de modos de paravirtualización (PV) para E/S, manejo de interrupciones, arranque e interacción de hardware, utilizando virtualización completa (HVM) para limitar instrucciones privilegiadas, aislamiento de syscall y virtualización tablas de páginas de memoria. También proporcionó compatibilidad con QubesOS 4.0.
El backend para el hipervisor Xen se ha reescrito desde cero y ahora se basa en el kit de herramientas Solo5 (entorno sandbox para unikernel).
Se eliminó el soporte para el antiguo runtime de Xen basado en el kernel reducido de Mini-OS. Todos los backends que no son de UNIX ahora usan un tiempo de ejecución OCaml unificado basado en ocaml-independiente.
La configuración del runtime de OCaml a través de la variable de entorno OCAMLRUNPARAM ahora está disponible en forma de parámetros de arranque unikernel.
Ademas, MirageOS unikernel para Xen incluye protecciones modernas como la protección de pila SSP para código C, W ^ X (Write XOR Execute) y canary heap malloc.
¿Cómo obtener MirageOS?
Para quienes estén interesados en poder obtener esta nueva versión de MirageOS podrán hacerlo siguiendo las instrucciones que compartimos a continuación.
Los requisitos para poder instalar MirageOS es contar con un sistema UNIX (Linux, Mac o BSD) y contar con OPAM 2.0.0 o posterior y OCaml 4.05.0 o posterior.
En el caso de que no sea así, se pueden instalar ejecutando en la terminal alguno de los siguientes comandos dependiendo tu distribución.
Para el caso de los que son usuarios de Debian, Ubuntu o derivados de estos:
sudo apt-get update
sudo apt-get install opam
Mientras que para los que utilizan Arch Linux, Manjaro o cualquier otro derivado de Arch:
sudo pacman -S opam
Fedora, RHEL, CentOS o cualquier otro derivado de estos:
sudo dnf -i opam
Finalmente, para realizar la instalación de MirageOS:
opam init
opam install mirage