- O que é o Redox?
- Estado atual
- O que Redox significa?
- Quais funções o Redox possui?
- Benefícios do Microkernel
- Modularidade real
- Isolamento de bugs
- Design de não-reinicialização
- Benefícios da Rust
- Sem necessidade para mitigações de exploit
- Sistema de arquivos inspirado no ZFS
- Melhorias de segurança/confiabilidade sem impacto significante no desempenho
- Drivers escritos em Rust
- Fácil de desenvolver e depurar
- Qual o propósito do Redox?
- O que posso fazer com o Redox?
- O que é um sistema Unix-like?
- Como o Redox é inspirado em outros sistemas?
- O que é um microkernel?
- Quais programas o Redox executa?
- Como instalar programs no Redox?
- Quais são as variantes do Redox?
- Quais dispositivos o Redox suporta?
- CPU
- Interfaces do Hardware
- Vídeo
- Som
- Armazenamento
- Periféricos
- Internet
- Quais máquinas virtuais o Redox possui integração?
- Como compilar o Redox?
- Como abrir o QEMU sem interface gráfica
- Como diagnosticar seu Redox em caso de erros
- Como reportar bugs para o Redox?
- Como contribuir para o Redox?
- Eu tenho um problema/pergunta para a equipe do Redox
title = "FAQ"
Essa página cobre as perguntas mais comuns.
- O que é o Redox?
- O que Redox significa?
- Quais funções o Redox possui?
- Qual o propósito do Redox?
- O que posso fazer com o Redox?
- O que é um sistema Unix-like?
- Como o Redox é inspirado em outros sistemas?
- O que é um microkernel?
- Quais programas o Redox executa?
- Como instalar programas no Redox?
- Quais são as variantes do Redox?
- Quais dispositivos o Redox suporta?
- Quais máquinas virtuais o Redox possui integração?
- Como compilar o Redox?
- Como abrir o QEMU sem interface gráfica
- Como diagnosticar seu Redox em caso de erros
- Como reportar bugs para o Redox
- Como contribuir para o Redox?
- Eu tenho um problema/pergunta para a equipe do Redox
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
- x86_64/AMD64 - (Intel/AMD)
- x86/i686 - (Intel/AMD a partir do Pentium II e após, incompleto)
- ARM64 - (incompleto)
Interfaces do Hardware
(USB breve)
Vídeo
(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.
- Guia no Livro do Redox - (Debian/Ubuntu/Pop OS!)
- Guia do Podman no Livro do Redox
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
- Leia a Documentação.
- Leia todo livro do Redox para ver se isso responde suas pergunta/corrige seu problema.
- Se a documentação/livro não resolver, diga sua pergunta/problema nas salas Redox Support ou Redox Dev no Matrix.