Após um ano de desenvolvimento, foi anunciado o lançamento da nova versão do sistema operacional Redox 0.5, Qual Seu foco principal é que seu desenvolvimento seja utilizando a linguagem Rust e o conceito de microkernel.
Os desenvolvimentos do projeto são distribuídos sob a licença gratuita do MIT. Para teste no VirtualBox ou QEMU, imagens de inicialização específicas são oferecidas para cada um deles.
O ambiente do usuário Redox é baseado no Orbital GUI rodando no Wayland. O Netsurf é usado como um navegador da web.
Sobre Redox
O sistema operacional usa o conceito de microkernel, em que apenas a interação entre os processos e o gerenciamento de recursos é fornecida no nível do kernel e todas as outras funcionalidades são transportadas para as bibliotecas que podem ser usadas pelo kernel e pelos agentes do usuário.
Tudo controladores executados no espaço do usuário em sandboxes de sandbox. Para compatibilidade com aplicativos existentes, uma camada POSIX especial é fornecida que permite a você executar muitos programas sem portar.
Redox é desenvolvido de acordo com a filosofia Unix, pegando algumas ideias de SeL4, Minix e Plan 9.
O sistema usa o princípio "tudo é um URL".
Por exemplo, a URL "log: //" pode ser usada para registro, interação entre processos "bus: //", interação de rede "tcp: //" e assim por diante.
Módulos que podem ser implementados na forma de drivers, extensões de kernel e agentes de usuário podem registrar seus manipuladores de URL, por exemplo, você pode escrever um módulo para acessar as portas de E / S e vinculá-lo à URL "port_io: / /", Após que você pode usar para acessar a porta 60 abrindo o url "port_io: // 60".
O projeto também está desenvolvendo seu próprio gerenciador de lote, um conjunto de utilitários padrão (binutils, coreutils, netutils, extrautils), o shell de comando "ion", o editor de texto de sódio semelhante ao vod, a pilha de rede e o sistema de arquivos TFS desenvolvido com base nas idéias do ZFS. )
A configuração é definida no idioma Toml. O sistema atualmente suporta o uso em processadores x86_64 com uma placa de vídeo compatível com VBE (nvidia, intel, amd), drives AHCI e placas de rede baseadas em chips E1000 ou RTL8168.
Principais novidades do Redox 0.5
O lançamento da nova versão do Redox 0.05 vem com algumas inovações das quais podemos destacar em primeira instância que a própria biblioteca C padrão da Relibc, escrita em Rust.
Relibc está posicionado como uma implementação portátil da biblioteca padrão C, compatível com POSIX e capaz de funcionar não apenas no Redox, mas também em distribuições baseadas em Linux.
Anteriormente no Redox, a bifurcação da biblioteca newlib do projeto Cygwin ela foi usada como uma biblioteca padrão, mas não foi adaptada para desenvolvedores em termos de segurança e plataforma cruzada. No estágio atual de desenvolvimento, o Relibc já é muito superior à funcionalidade newlib.
Além disso, no Redox 0.5 novo bootloader-coreboot e bootloader-efi preparado para coreboot e EFI, com base na qual as imagens de inicialização foram formadas.
As bibliotecas para trabalhar com EFI são escritas em Rust e o código de inicialização (carga útil para coreboot) em Rust. Os carregadores podem ser usados separadamente do Redox e em outros projetos.
O sistema de gerenciamento de eventos foi redesenhado para fornecer o suporte correto para a seleção e votação de chamadas.
Das outras novidades que podem ser destacadas no anúncio desta nova versão encontramos:
- Suporte completo para funções de mapeamento de memória (mmap) foi implementado.
- Suporte para Pthreads foi adicionado e chamadas de sistema adicionais foram sugeridas para processamento de sinal.
- Suporte LLVM aprimorado, permitindo a montagem de rustc e Mesa (c llvmpipe).
- Devido à transição para a nova biblioteca do sistema, foi obtido suporte para muitos novos aplicativos.
- Um total de 62 novos pacotes foram adicionados.
Para instalação em Redox já existem pacotes prontos para usar com as bibliotecas SDL2, ffmpeg, cairo, gstreamer, pcre, glman, libiconv, libsodium e gettext, um conjunto de compiladores, uma implementação OpenGL, um aplicativo OpenGL, Vcckv Mesa, emuladores scummvm, doscites e costumes e um aplicativo OpenGL em seu conjunto. Nukem 3D), openttd e FreeDoom.