E foi lançado o MirageOS 3.9 com um redesenho do hipervisor e com ele grandes melhorias. Confira as novidades e veja com instalar no Linux.
MirageOS é um sistema operacional de biblioteca que constrói unikernels para aplicativos de rede seguros e de alto desempenho em uma variedade de plataformas móveis e de computação em nuvem.
Ou seja, o MirageOS é um sistema que permite formar sistemas operativos de uma aplicação, em que a aplicação é fornecida como um “unikernel” auto-suficiente capaz de funcionar sem a utilização de sistemas operativos, um kernel SO separado e qualquer capa.
O código pode ser desenvolvido em um sistema operacional normal, como Linux ou MacOS X, e depois compilado em um unikernel especializado totalmente autônomo que é executado em um hipervisor Xen ou KVM.
A linguagem OCaml é usada para desenvolvimento de aplicativos. O código do projeto é distribuído sob a licença ISC gratuita.
Toda a funcionalidade de baixo nível inerente ao sistema operacional é implementada na forma de uma biblioteca anexada ao aplicativo.
O aplicativo pode ser desenvolvido em qualquer sistema operacional, após o qual é compilado em um kernel especializado (conceito unikernel), que pode ser executado diretamente sobre os hipervisores Xen, KVM, BHyve e VMM (OpenBSD), em plataformas móveis, como um processo em um ambiente compatível com POSIX ou ambientes de nuvem Amazon Elastic Compute Cloud e Google Compute Engine.
O ambiente gerado não contém nada supérfluo e interage diretamente com o hipervisor sem controladores ou camadas de sistema, o que pode reduzir significativamente a sobrecarga e aumentar a segurança.
Trabalhar com o MirageOS se reduz a três etapas: preparar a configuração com a definição dos pacotes OPAM usados no ambiente, construir o ambiente e iniciar o ambiente.
O tempo de execução para fornecer trabalho em hipervisores é baseado no kernel Solo5.
Embora os aplicativos e bibliotecas sejam construídos na linguagem OCaml de alto nível, os ambientes resultantes demonstram um desempenho razoavelmente bom e tamanho mínimo (por exemplo, um servidor DNS tem apenas 200 KB).
A manutenção do ambiente também é simplificada, pois caso seja necessário atualizar o programa ou alterar a configuração, basta criar e iniciar um novo ambiente.
Várias dezenas de bibliotecas OCaml são suportadas para realizar operações de rede (DNS, SSH, OpenFlow, HTTP, XMPP, etc.), trabalhar com armazenamentos e fornecer processamento paralelo de dados.
Novidades do MirageOS 3.9
Esta nova versão apresenta como principais novidades o redesenho do hipervisor Xen que permitiu ao unikernel MirageOS funcionar em modo PVHv2, que combina elementos de modos de paravirtualização (PV) para I/O, tratamento de interrupções, inicialização e interação de hardware, utilizando virtualização total ( HVM) para limitar instruções privilegiadas, isolamento de syscall e virtualização de tabela de página de memória.
Ele também forneceu suporte para QubesOS 4.0.
Além disso, o unikernel do MirageOS para Xen inclui proteções modernas, como proteção de pilha SSP para código C, W^X (Write XOR Execute) e malloc de heap canário.
O suporte para o antigo tempo de execução do Xen baseado no kernel fino do Mini-OS foi removido. Todos os back-ends não-UNIX agora usam um tempo de execução OCaml baseado em ocaml independente unificado.
A configuração de tempo de execução OCaml por meio da variável de ambiente OCAMLRUNPARAM agora está disponível como parâmetros de inicialização unikernel.
O backend do hipervisor Xen foi reescrito do zero e agora é baseado no kit de ferramentas Solo5 (ambiente sandbox para unikernel).
Para saber mais sobre essa versão do MirageOS, acesse a nota de lançamento.
Como instalar ou atualizar o MirageOS
Para instalar a versão mais recente do MirageOS nas principais distribuições Linux, basta seguir as instruções abaixo.
Os requisitos para instalar o MirageOS são ter um sistema UNIX (Linux, Mac ou BSD) e ter OPAM 2.0.0 ou posterior e OCaml 4.05.0 ou posterior.
Se este não for o caso, eles podem ser instalados executando um dos seguintes comandos no terminal, dependendo da sua distribuição.
No caso de usuários do Debian, Ubuntu ou derivados destes:
sudo apt-get update
sudo apt-get install opam
Enquanto para aqueles que usam Arch Linux, Manjaro ou qualquer outro derivado do Arch:
sudo pacman -S opam
Fedora, RHEL, CentOS ou qualquer outro derivado destes:
sudo dnf -i opam
Finalmente, para instalar o MirageOS:
opam init
opam install mirage