Após quase dois anos de desenvolvimento, foi lançado o sistema operacional Redox 0.9, criado usando a linguagem Rust e o conceito de microkernel. As contribuições do projeto são distribuídas sob a licença MIT. Para testar o Redox OS, são oferecidos ambientes live de inicialização para hardware real e imagens de sistema para máquinas virtuais (512 MB e 1,5 GB), preparadas para as arquiteturas x86_64 e i686.
A imagem de demonstração inclui um emulador DOSBox, uma seleção de jogos (DOOM, Neverball, Neverputt, sopwith, syobonaction), programas educativos, um reprodutor de música rodioplay com suporte a formatos FLAC e WAV, um navegador web Netsurf, um visualizador de imagens, um editor de texto em console chamado Sodium, um gerenciador de arquivos, um emulador de terminal e um editor de texto do projeto COSMIC. O ambiente do usuário é baseado na própria interface gráfica Orbital e no toolkit OrbTk, fornecendo uma API semelhante ao Flutter, React e Redux. Suporte às bibliotecas GUI Slint, Iced e winit está disponível.

O sistema operacional evolui de acordo com a filosofia Unix e incorpora algumas ideias do SeL4, Minix e Plan 9. O Redox utiliza o conceito de microkernel, onde no nível do kernel é garantido apenas a interação entre processos e o gerenciamento de recursos, enquanto toda a outra funcionalidade é transferida para bibliotecas que podem ser usadas tanto pelo kernel quanto por aplicativos do usuário. Todos os drivers são executados no espaço do usuário em ambientes isolados de sandbox. Para compatibilidade com aplicativos existentes, é fornecida uma camada POSIX especial, permitindo a execução de muitos programas sem a necessidade de portabilidade.
O projeto está desenvolvendo seu próprio gerenciador de pacotes, um conjunto de utilitários padrão (binutils, coreutils, netutils, extrautils), um shell chamado ion, a biblioteca C padrão relibc, um editor de texto semelhante ao vim chamado sodium, uma pilha de rede e um sistema de arquivos. A configuração é definida na linguagem Toml.
Entre os dispositivos suportados estão os dispositivos de entrada com interface USB (teclados, mouses, touchpads), saída de vídeo através da API VESA BIOS ou UEFI GOP (drivers para GPU não são suportados), chips de som AC’97 e Intel HD Audio, SATA (AHCI, IDE) e NVMe. O suporte a Wi-Fi e dispositivos de armazenamento com interface USB ainda não está pronto. O trabalho com o ambiente gráfico foi testado em notebooks Lenovo IdeaPad Y510P, System76 Galago Pro e System76 Lemur Pro. Com algumas limitações, o suporte é garantido para notebooks Dell XPS 13, HP Dev One, ASUS X554L, ASUS ROG g55vw, Toshiba Satellite L500 e ASUS Eee PC 900. O sistema ARM Raspberry Pi 3 Model B+ é suportado.
Principais mudanças:
- As capacidades relacionadas à gestão de processos, threads, memória e sinais foram significativamente ampliadas, levando a melhorias no desempenho de muitos aplicativos. Por exemplo, o sistema alcançou um nível que permite a compilação de programas simples usando compiladores GCC e Rust, embora o suporte à auto-compilação ainda não tenha sido alcançado.
- Do ambiente do usuário COSMIC, foram transferidos o gerenciador de arquivos, o editor de texto e o emulador de terminal, todos funcionando em modo gráfico.
- A portabilidade com programas dos sistemas Linux e BSD foi aprimorada. O número total de portas de aplicativos foi aumentado para cerca de 1700. Entre as conquistas significativas, destaca-se a portabilidade do servidor HTTP Apache, Simple HTTP Server, RustPython, GNU Make, Lua, Perl 5 e dos editores de texto GNU Nano e Helix.
- Diversas otimizações de desempenho foram implementadas e muitos problemas que impactavam a estabilidade foram corrigidos. O desempenho do sistema de arquivos RedoxFS, do gerenciamento de memória, das chamadas de sistema e da troca de contexto foi significativamente aprimorado. máquinas virtuais.
- No display servidor No Orbital, foi adicionado suporte para as bibliotecas GUI Slint, Iced e winit. Através do winit, implementou-se a possibilidade de decorar janelas no lado do cliente, criar janelas ocultas e maximizar janelas em tela cheia. Agora, é possível reproduzir músicas e vídeos a partir de programas GUI com um duplo clique do mouse. A interface do ambiente de trabalho Orbital foi melhorada.

- Em vez de endereçamento via URL (por exemplo, para gravação de log poderia ser usado o URL "log://", e para interação de rede "tcp://"), foi adotado o formato tradicional de caminhos de arquivo dos sistemas Unix, o que teve um impacto positivo na compatibilidade com programas e bibliotecas POSIX/Linux.
- A implementação da biblioteca padrão C Relibc foi aprimorada, que agora está completamente escrita em Rust, além de libm. O suporte para funções POSIX foi ampliado. Foi proposta uma iniciativa para fornecer um ABI estável para o espaço do usuário. Todos os componentes de sistema foram migrados de redox_syscall para libredox.
- A funcionalidade do carregador para UEFI foi melhorada.
- O suporte para a arquitetura ARM64 (Aarch64) foi significativamente aprimorado e compatibilidade parcial com a placa Raspberry Pi 3B+ foi garantida.
- As capacidades do driver Contain para execução isolada de aplicativos foram expandidas. Foi adicionada uma demonstração de uso do driver Contain (desktop-contain.toml).
- Os drivers para PCI e PCIe foram melhorados. Drivers VirtIO foram adicionados.
- As capacidades do sistema de construção foram expandidas.

Fonte: opennet.ru

