Skip to content
Snippets Groups Projects
title = "FAQ"

Essa página cobre as perguntas mais comuns.

O que é o Redox?

Redox é um sistema operacional baseado em microkernel, completo, funcional, para uso geral com foco em segurança, liberdade, confiabilidade, correção e pragmatismo.

Onde for possível, os componentes do sistema serão escritos em Rust e executam no espaço do usuário.

Estado atual

O Redox está em qualidade alpha/beta, pois implementamos novas funções enquanto corrigimos bugs.

Portanto, ele não está pronto para uso diário, sinta-se livre para testar o sistema até sua maturidade e não armazene arquivos sensíveis sem o devido backup.

A versão 1.0 será lançada quando todas as APIs do sistema forem consideradas estáveis.

O que Redox significa?

Redox é a reação química (redução-oxidação) que cria a ferrugem, já que o Redox é um sistema operacional escrito em Rust, faz sentido.

Ele soa similar com Minix/Linux também.

Quais funções o Redox possui?

Benefícios do Microkernel

Modularidade real

Você pode modificar/trocar a maioria dos componentes do sistema sem reiniciar o sistema, similar ao livepatching porém mais seguro).

Isolamento de bugs

A maioria dos componentes do sistema executam no espaço do usuário em um sistema com microkernel, um bug em componentes do sistema fora do kernel não pode quebrar o kernel.

Design de não-reinicialização

O kernel é pequeno e muda muito pouco (correção de bugs), portanto você não precisa reiniciar seu sistema com frequência para atualizar, já que a maioria dos serviços do sistema estão no espaço do usuário, eles podem ser trocados/atualizados durante a execução (reduzindo o tempo offline de servidores).

Benefícios da Rust

Sem necessidade para mitigações de exploit

O design em microkernel escrito em Rust protege contra as falhas de memória da C/C++, por isolar o sistema do kernel, a superfície de ataque é muito limitada.

Sistema de arquivos inspirado no ZFS

O Redox utiliza o RedoxFS como sistema de arquivos padrão, ele suporta funções parecidas com as do ZFS com uma implementação escrita em Rust.

Espere alto desempenho e segurança dos dados (copy-on-write, integridade de arquivos, volumes, snapshots, endurecido contra a perda de arquivos).

Melhorias de segurança/confiabilidade sem impacto significante no desempenho

Como o kernel é pequeno, ele usa menos memória para fazer suas funções e o código limitado no kernel torna ele quase livre de bugs (objetivo do príncipio KISS).

O design seguro e veloz da linguagem Rust, combinado com a pequena quantidade de código no kernel, ajudam a garantir um núcleo fácil, confiável e veloz de manter.

Drivers escritos em Rust

Drivers escritos em Rust possuem incentivos para ter menos bugs e melhor segurança.

Fácil de desenvolver e depurar

A maioria dos componentes do sistema estão no espaço do usuário, simplificando a depuração.

Qual o propósito do Redox?

O objetivo principal do Redox é ser um sistema de propósito geral com foco em segurança, confiabilidade e correção.

O Redox pretende ser uma alternativa aos sistemas Unix (Linux/BSD) existentes também, podendo executar programas Unix com apenas compilação ou modificações mínimas.

O que posso fazer com o Redox?

Como um sistema de propósito geral, você é capaz de fazer quase tudo na maioria dos dispositivos com alto desempenho/segurança.

O Redox está em desenvolvimento, portanto nossa lista de aplicações suportada é limitada atualmente, mas crescente.

O que é um sistema Unix-like?

Qualquer sistema compátivel com a Especificação Única do Unix e POSIX, portanto com uma Shell, o conceito de "Tudo é um arquivo", multitarefa e multiusuário.

Unix foi um sistema operacional de multitarefa muito influente e impactou as decisões de design em diversos sistemas modernos.

Como o Redox é inspirado em outros sistemas?

Plan 9 - Este sistema da Bell Labs trouxe o conceito de "Tudo é um arquivo" ao seu maior nível, fazendo toda a comunicação do sistema pelo sistemas de arquivos.

Você apenas precisa montar o software em algum local para obter a função desejada, qualquer software pode funcionar dessa forma.

Minix - o sistema Unix-like com microkernel mais influente, ele possuí funções avançadas tais como modularidade do sistema, resistência a quebra do kernel, reincarnação de driver, proteção contra drivers ruins e interfaces seguras para a comunicação dos processos.

O Redox é largamente inspirado pelo Minix, ele tem funções e arquitetura similar escrita em Rust.

BSD - Essa família de sistemas Unix fez diversas melhorias para os sistemas Unix, a mais notável são os sockets BSD, eles trazem a comunicação de rede com operação de arquivos (antes do Plan 9).

Linux - o kernel monolítico mais avançado do mundo e maior projeto de código-aberto do mundo, ele traz diversas melhorias/otimizações para sistemas Unix-like.

O Redox tenta implementar as melhorias de desempenho do Linux em um design de microkernel.

O que é um microkernel?

Um microkernel é um modelo para núcleo de sistema operacional com uma pequena quantidade de código executando no maior privilégio do processador, este modelo melhora a estabilidade e segurança, com um pequeno custo de desempenho.

Quais programas o Redox executa?

O Redox é desenhado para ser compátivel-em-código com a maioria dos sistemas Unix, Linux e programas POSIX, necessitando apenas de compilação.

Atualmente, a maioria das aplicações com interface gráfica requer um port, já que não suportamos X11 ou Wayland ainda.

Softwares importantes que o Redox suporta:

Você pode ver todos os componentes do Redox/programas portados aqui

Como instalar programs no Redox?

O Redox tem um gerenciador de pacotes similar ao apt (Debian) e pkg (FreeBSD), você pode ler como utiliza-lo nesta página:

Quais são as variantes do Redox?

O Redox possuí variantes para cada tarefa, leia sobre elas abaixo:

  • server-minimal - A variante mais enxuta com um sistema básico, destinada a dispositivos embarcados, computadores muito antigos e programadores.

  • desktop-minimal - A variante mais enxuta com o ambiente de desktop Orbital incluído, destinado para dispositivos embarcados, computadores muito antigos e programadores.

  • server - A variante para servidores, com um sistema completo e ferramentas de rede, destinado para admnistradores de rede, dispositivos embarcados, computadores fracos e programadores.

  • desktop - A variante padrão com um sistema completo, o ambiente de desktop Orbital e ferramentas úteis, destinado para o uso diário, produtores, programadores e jogadores.

  • dev - A variante para desenvolvimento com um sistema completo e ferramentas de programação, destinado para programadores.

  • demo - A variante para demonstração com um sistema completo, ferramentas, reprodutores e jogos, destinado para testadores, jogadores e programadores.

Quais dispositivos o Redox suporta?

Há bilhões de dispositivos com centenas de modelos/arquiteturas no mundo, nós tentamos escrever drivers para os dispositivos mais utilizados para ajudar mais pessoas, alguns drivers são específicos para um dispositivo e outros são específicos de arquitetura.

Leia o HARDWARE.md para ver todos os computadores testados.

CPU

Interfaces do Hardware

(USB breve)

Vídeo

  • VGA - (BIOS)
  • GOP (UEFI)
  • LLVMpipe - Renderização de Software

(Intel/AMD e outros no futuro)

Som

(Sound Blaster em breve)

Armazenamento

(USB em breve)

Periféricos

(USB em breve)

Internet

(Wi-Fi/Atheros ethernet em breve)

Quais máquinas virtuais o Redox possui integração?

No futuro o microkernel poderia agir como um supervisor, similar ao Xen.

Um supervisor é um software que executa múltiplas instâncias isoladas de sistemas operacionais simultaneamente.

Como compilar o Redox?

Atualmente o Redox tem um script de bootstrap para o Debian/Ubuntu/Pop OS! com suporte não mantido para outras distribuições.

Nós estamos em transição para o Podman como nosso método de compilação principal, ele é método de compilação recomendado para sistemas que não sejam baseados no Debian, pois ele evita problemas de ambiente durante a compilação.

Como abrir o QEMU sem interface gráfica

Execute:

  • make qemu vga=no

Como diagnosticar seu Redox em caso de erros

Leia todo o livro do Redox antes para ver se seu problema é sua configuração de compilação ou ferramentas de compilação, se isto não resolver seu erro, leia:

Como reportar bugs para o Redox?

Verifique as Issues no GitLab primeiro para ver se seu problema é conhecido.

Como contribuir para o Redox?

Você pode contribuir para o Redox de diversas formas, veja elas em CONTRIBUTING.

Eu tenho um problema/pergunta para a equipe do Redox