lançamento do projeto , permitindo a formação de sistemas operacionais de um único aplicativo, onde o aplicativo é fornecido como um "unikernel" autossuficiente, capaz de operar sem sistemas operacionais, um núcleo separado e quaisquer camadas intermediárias. A linguagem OCaml é aplicada para o desenvolvimento de aplicativos. O código do projeto sob a licença ISC.
Toda a funcionalidade de baixo nível característica de um 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 núcleo especializado (a concepção de ), que pode ser executado diretamente sobre hipervisores Xen, KVM, BHyve e VMM (OpenBSD), em plataformas móveis, como um processo em um ambiente compatível com POSIX ou em ambientes em nuvem como Amazon Elastic Compute Cloud e Google Compute Engine.
O ambiente gerado não contém nada desnecessário e interage diretamente com o hipervisor sem drivers e camadas do sistema, o que permite uma redução significativa das sobrecargas e um aumento de segurança. O trabalho com MirageOS consiste em três estágios: preparação da configuração com a definição dos pacotes , construção do ambiente e lançamento do ambiente. O runtime para operação sobre Xen é baseado em um núcleo reduzido , e para outros hipervisores e sistemas baseados no núcleo .
Embora os aplicativos e bibliotecas sejam formados em uma linguagem de alto nível, OCaml, os ambientes finais demonstram um desempenho bastante bom e um tamanho mínimo (por exemplo, um servidor DNS ocupa apenas 200 KB). A manutenção dos ambientes é simplificada, pois, quando necessário, para a atualização do programa ou mudança de configuração, basta criar e lançar um novo ambiente. Suporta na linguagem OCaml para executar operações de rede (DNS, SSH, OpenFlow, HTTP, XMPP, etc.), trabalhar com armazenamentos e garantir o processamento paralelo de dados.
As principais mudanças na nova versão estão relacionadas ao suporte a novos recursos propostos na ferramenta (ambiente sandbox para execução de unikernel):
- Adicionada a capacidade de executar o unikernel MirageOS em um ambiente isolado ("sandboxed process tender"), fornecido pela ferramenta . Ao usar o backend spt, núcleos MirageOS são iniciados em processos de usuário Linux, aos quais é aplicada a mínima isolação baseada em seccomp-BPF;
- Suporte implementado do projeto Solo5, permitindo definir vários adaptadores de rede e dispositivos de armazenamento anexáveis ao unikernel, com isolação baseada nos backends hvt, spt e muen (o uso para os backends genode e virtio ainda é limitado a um dispositivo);
- A proteção dos backends baseados no Solo5 (hvt, spt) foi reforçada, por exemplo, garantindo a compilação em modo SSP (Proteção contra Sobrecarga de Pilha).
Fonte: opennet.ru
