Faz alguns dias a Linux Foundation apresentou a nova versão do hipervisor ACRN 1.2 Qual é um hipervisor especializado e projetado para uso em tecnologia embarcada e dispositivos de Internet das Coisas (IoT). O hipervisor é escrito tendo em mente a prontidão para tarefas em tempo real e a adequação para uso em sistemas críticos, ao trabalhar em equipes com recursos limitados.
O projeto está tentando ocupar um nicho entre os hipervisores usados em sistemas em nuvem e data centers e hipervisores para sistemas industriais com uma separação estrita de recursos. Unidades de controle eletrônico, painéis e sistemas de informação automotivos são citados como exemplos do uso do ACRN, mas o hipervisor também é adequado para dispositivos IoT de consumidor e outras aplicações incorporadas.
ACRN fornece sobrecarga mínima e consiste em apenas 25 mil linhas de código (em comparação, os hipervisores usados em sistemas em nuvem representam aproximadamente 150 mil linhas de código).
Ao mesmo tempo, ACRN garante baixa latência e capacidade de resposta adequada ao interagir com a equipe.
Por outro lado suporta virtualização de recursos de CPU, entrada / saída, subsistema de rede, operações gráficas e de som, além de um conjunto de mediadores de entrada / saída para acesso conjunto a recursos comuns a todas as máquinas virtuais.
ACRN se refere ao primeiro tipo de hipervisor (ele é executado diretamente sobre o hardware) e permite que você execute simultaneamente vários sistemas convidados que podem executar Linux, RTOS, Android e outras distribuições de sistema operacional.
O projeto como tal consiste em dois componentes principais: aquele que é o hipervisor e pelo outro é um modelo do dispositivo relacionado a um amplo conjunto de mediadores de entrada / saída que organizam a troca de dispositivos entre sistemas convidados.
O hipervisor é controlado a partir do sistema operacional do serviço, que atua como um sistema host e contém componentes para transmitir chamadas de outros sistemas convidados para os computadores.
Dentro de suas principais características destacam-se:
Pequeno código
- Otimizado para dispositivos com recursos limitados
- Algumas linhas de código (LOC) do hipervisor: aprox. 25K vs. 156K LOC para hipervisores centrados no data center.
Velocidade
- Baixa latência
- Permite um tempo de inicialização mais rápido
- Melhora a capacidade de resposta geral com comunicação de hardware
Construído para IoT incorporada
- Virtualização além de CPU, I / O, rede, etc.
- Virtualização de funções de desenvolvimento de IoT incorporadas, ou seja: gráficos, imagens, áudio, etc.
- Conjunto completo de mediadores de I / O para compartilhar dispositivos em várias máquinas virtuais
adaptabilidade
- Suporte a vários sistemas operacionais para sistemas operacionais convidados, como Linux e Android
- Aplicável em muitos casos de uso
É open source
- Suporte escalável
- Economias significativas em custos de P&D e desenvolvimento
- Código de transparência
- Desenvolvimento de software colaborativo com líderes do setor.
- Licenças BSD permissivas
Segurança
- Cargas de trabalho críticas de segurança têm prioridade
- Isolamento de cargas de trabalho críticas para a segurança.
- O projeto é construído com considerações de carga de trabalho crítica de segurança em mente
O que há de novo no ACRN 1.2
Deste novo lançamentoo a capacidade de usar o firmware Tianocore / OVMF é destacada como um carregador de boot virtual para um sistema operacional de serviço (sistema host) que pode executar Clearlinux, VxWorks e Windows. Modo de inicialização verificado com suporte (inicialização segura).
Além disso os desenvolvedores trabalharam no suporte para contêineres Kata. Enquanto para sistemas convidados do Windows (WaaG), um mediador foi adicionado para acessar o controlador de host USB (xHCI) e o Virtualization Always Running Timer (ART) foi adicionado.
Para aqueles que estão interessados em poder testar o ACRN, é importante que eles saibam que devem ter pelo menos os seguintes requisitos:
Requisitos mínimos
- Processador x86 de 64 bits
- 4 GB de memória RAM
- Armazenamento 20GB
- Recomendado
- Processador de 64 núcleos de 4 bits
- 8 GB de memória RAM
- Armazenamento de 120GB
Você pode encontrar a documentação correspondente bem como informações sobre o hardware suportado em o seguinte link.