Image default
Open Source

IncludeOS: execute seu código C++ em um hardware virtual (Update)

Fonte: Deviant Art
Fonte: Deviant Art

O IncludeOS pretende ser o mais minimalista, e a mais camada leve possível entre o seu código C++ e o hardware virtual em serviços de nuvem. O produto proverá um gerenciador de boot, bibliotecas padrão e uma infinidade de módulos, além de um sistema de configuração e implantação. Você fornecerá o serviço.

O IncludeOS foi projeto para rodar sobre o sistema de virtualização KVM do Linux, mas as versões anteriores foram testadas com sucesso no VirtualBox (que possui versões para OS X, Windows e Linux) e Bochs.

É um protótipo – seja paciente!

O IncludeOS ainda não está pronto, a equipe está trabalhando duro para que esteja disponível o mais breve possível.

É um projeto de pesquisa

Ele é o resultado de um projeto de pesquisa na Akershus University College of Applied Science em Oslo/Noruega (hioa.no).

Um paper intitulado IncludeOS: a resource efficient unikernel for cloud services, que apresenta o produto, irá dar as suas caras no IEEE CloudCom 2015.

Contribuintes

O IncludeOS foi criado por @alfred-bratterud, através das muitas contribuições de @fwsgonzo e de outros do grupo NETSYS em HiOA.

Fonte: IncludeOS

Maiores informações sobre o S.O.

Como é um projeto novo, ainda temos pouca informação. Entramos em contato com o criador do IncludeOS, e assim que tivermos algo de novo, este post será atualizado. Então caso seja de seu interesse fique ligado(a)!

Update (19/09/2015)

Alfred Bratterud, criador do IncludeOS, prontamente nos respondeu a um e-mail enviado pelo O Analista, onde nos relatou o seguinte:

O IncludeOS não é um Linux. O principal resultado do nosso trabalho (que será publicado no final de novembro, mas estou pedindo a organização se eu poderei fornecer um preview) é um servidor DNS de 153 Kb (!!) com um sistema operacional incluído. Isso é menor do que o gerenciador de boot Grub. Desde o protótipo no papel, mudamos do EASTL para a biblioteca padrão C++ do LLVM, que fez de tudo um pouco, mas o “Hello World”, incluindo o SO ficou bem abaixo do que 1 Mb.

A premissa por trás da idéia do Unikernel, é a de que ele seja de uso amplo no lado da biblioteca, carregando somente o que o serviço precisa quando o boot é finalizado, ou seja, as classes e funções que seu código utiliza. O linker faz este trabalho para nós, uma vez que o sistema operacional é compilado em uma biblioteca estática.

Atualmente você precisará de uma plataforma de virtualização x86 – como o KVM/Linux – mas nós testamos outro dia no VirtualBox, que roda em qualquer laptop (Windows / Mac / Linux). Isso funcionou bem.

Rede: O sistema operacional possui somente um driver de dispositivo, neste caso um dispositivo de rede Virtio. Portanto, sua plataforma precisa disso. (O KVM e Virtualbox possuem, suponho que muitos outros, pois é um padrão OASIS agora).

O código será liberado na CloudCom 2015, 30 de novembro. Estarei apresentando o IncludeOS no 2º dia da conferência.

Posts similares

Co.cycles, o motor de busca para desenvolvedores web

O Analista

NASA libera o VICAR, conjunto de ferramentas na forma de open source

O Analista

Rolou na semana: Fim do Debian Live

O Analista