Foi lançado o módulo do sistema operacional Embox 0.7, projetado para executar aplicativos originalmente criados para Linux, mas sem usar o Linux. O sistema pode operar em tempo real (RTOS) em várias classes de dispositivos, desde sistemas comuns x86 até placas de baixo consumo e microcontroladores. O código do projeto é escrito em C e distribuído sob a licença BSD.
O núcleo do Embox é dividido em uma série de bibliotecas que implementam várias interfaces de programação (gerenciamento de memória, escalonador de tarefas, stack de rede, etc.). Graças à modularidade, o Embox permite usar o conjunto mínimo de componentes e bibliotecas do sistema necessário para executar um aplicativo específico. Para cada aplicativo, é gerada uma imagem autossuficiente, otimizada para uma tarefa específica e capaz de funcionar sobre o hardware sem sobreposições desnecessárias e sem o uso de núcleos universais e ambientes de sistema.
Essa configuração permite a execução de aplicativos existentes com custos operacionais mínimos em dispositivos com recursos limitados. O Embox também oferece um nível adicional de proteção – os aplicativos são vinculados estaticamente às bibliotecas, e além do aplicativo fornecido inicialmente, não é possível executar outros programas no ambiente gerado.
Como exemplos de aplicação do Embox, cita-se a criação de um telefone VoIP baseado no microcontrolador STM32F7 e na biblioteca PJSIP, a execução de uma interface gráfica baseada em Qt no microcontrolador STM32F7, a execução de um aplicativo para processamento de informações visuais usando OpenCV na placa STM32F769i, a execução isolada do servidor SSH Dropbear, a execução do jogo Quake3 e aplicativos gráficos que utilizam Mesa.

Principais recursos do Embox:
- Suporte a arquiteturas de processador x86, ARM, RISC-V, Microblaze, SPARC, E2K, PowerPC e MIPS.
- Suporte a microcontroladores STM32 e a capacidade de executar programas que utilizam Qt, OpenCV, PJSIP e outros frameworks populares.
- Suporte para placas semelhantes ao Raspberry Pi.
- Suporte à criação de ambientes para execução de aplicativos nas linguagens C++, Java, Python, Lua, TCL, Lisp, Ruby, JavaScript e Scheme.
- Compatibilidade com POSIX.
- Possibilidade de usar sistemas de arquivos FAT e ext2/3/4.
- Pilha TCP/IP com suporte a sockets e protocolos de rede padronizados (UDP, HTTP, ARP, NTP, ICMP).
- Disponibilidade de utilitários semelhantes ao Unix, como ls, cat e mount.
Entre as mudanças na nova versão:
- Sub-sistema para acesso sem fio implementado.
- Sub-sistema para controle via comandos AT implementado.
- Melhorado o suporte à arquitetura RISC-V. Adicionado suporte às plataformas Milandr MDR1206FI, Baikal-Electronics Baikal-U e Syntacore SCR-5.
- Adicionado suporte ao processador MIPS64 KOMDIV-64.
- Sistema de construção modernizado.
- Adicionado suporte à plataforma de aprendizado de máquina TensorFlow Lite.
- Adicionado suporte ao framework Ardupilot com implementação de piloto automático.
- Adicionado suporte ao protocolo WebSocket.
- Melhorados os subsistemas SPI, I2C e MMC.
Fonte: opennet.ru
