Redox, um sistema operacional escrito com a linguagem de programação Rust

SO Redox

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. )

asus-eepc-900

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.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.