- O que é o Redox?
- Quais funções o Redox possui?
- Modularidade real
- Isolamento de bugs
- Design de não-reinicialização
- Sem necessidade para mitigações de exploit
- Sistema de arquivos inspirado no ZFS
- Melhor desempenho do sistema e menos uso de memória
- 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?
- Quais dispositivos o Redox suporta?
- CPU
- Interfaces do Hardware
- Internet
- Som
- Video
- Storage
- Periféricos
- Quais máquinas virtuais o Redox possui integração?
- Como compilar o Redox?
- Como atualizar o código-fonte e compilar as mudanças?
- Como abrir o QEMU sem interface gráfica
- Como inserir arquivos dentro do disco rígido do QEMU
- 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?
- 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?
- Quais dispositivos o Redox suporta?
- Quais máquinas virtuais o Redox possui integração?
- Como compilar o Redox?
- Como atualizar o código-fonte e compilar as mudanças
- Como abrir o QEMU sem interface gráfica
- Como inserir arquivos no disco rígido do QEMU
- 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.
Quais funções o Redox possui?
Modularidade real
Você pode mudar cada componente do sistema sem reiniciar o sistema, similar ao livepatching).
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 sistema/kernel.
Design de não-reinicialização
O kernel é pequeno e muda muito pouco (correção de bugs), então 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 durante a execução.
A frequência de atualizações é menor também (menos chance de bugs).
Sem necessidade para mitigações de exploit
O design em microkernel escrito em Rust torna a maioria das falhas de segurança C/C++ irrelevantes/inúteis, com esse design o invasor/hacker não pode usar estes bugs para explorar o sistema.
Sistema de arquivos inspirado no ZFS
O Redox utiliza o RedoxFS como sistema de arquivos padrão, ele suporta as mesmas funções do ZFS com mudanças na implementação.
Espere alto desempenho e segurança dos dados (copy-on-write, integridade de arquivos, volumes, snapshots, endurecido contra a perda de arquivos).
Melhor desempenho do sistema e menos uso de memória
Como o kernel é pequeno, ele usa menos memória para fazer suas funções e está perto de ser livre de bugs (objetivo do príncipio KISS).
Além de ser pequeno, o sistema é escrito em Rust, essa linguaguem de programação ajuda os programadores a escrever um código melhor sem problemas de desempenho.
A Rust implementa otimização de desempenho com segurança por padrão.
Drivers escritos em Rust
Drivers escritos em Rust tem menos bugs, mais segurança e desempenho (menos bugs podem melhorar o desempenho do dispositivo).
Fácil de desenvolver e depurar
A maioria dos componentes do sistema estão no espaço do usuário, você não precisa de virtualização para testar/depurar eles, mais rápido de desenvolver.
Qual o propósito do Redox?
O que posso fazer com o Redox?
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.
- [Artigo da Wikipedia]
[Especificação Única do Unix]]: https://en.wikipedia.org/wiki/Single_UNIX_Specification [POSIX]: https://en.wikipedia.org/wiki/POSIX [Unix]: https://pt.wikipedia.org/wiki/Unix [Artigo da Wikipedia]: https://pt.wikipedia.org/wiki/Sistema_operacional_tipo_Unix
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 basicamente as mesmas funções mas escritas 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 para o sistema de arquivos Unix (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?
Quais programas o Redox executa?
Programas Unix/POSIX, o Redox é compátivel em código-fonte com o Linux (precisa de compilação).
Alguns softwares precisam ser portados (recipes), já que não possuímos suporte para X11/Wayland ainda, mas SDL/Orbital.
Softwares importantes que o Redox suporta:
No futuro o microkernel pode agir como um supervisor, similar ao Xen.
Um supervisor é um software the gerencia máquinas virtuais, ele pode ser uma "camada de compatibilidade" para qualquer sistema operacional.
Quais dispositivos o Redox suporta?
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)
Internet
(Wi-Fi/Atheros ethernet em breve)
Som
(Sound Blaster em breve)
Video
(Intel/AMD e outros no futuro)
Storage
(USB em breve)
Periféricos
(USB em breve)
Quais máquinas virtuais o Redox possui integração?
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.
(O Podman evita problemas de ambiente durante a compilação)
- Guia no Livro do Redox - (Debian/Ubuntu/Pop OS!)
- Guia Avançado no Livro do Redox - (Debian/Ubuntu/Pop OS!)
- Guia do Podman no Livro do Redox
- Guia Avançado do Podman no Livro do Redox
Como atualizar o código-fonte e compilar as mudanças?
Como abrir o QEMU sem interface gráfica
Execute:
make qemu vga=no
O QEMU ficará semelhante a um container/chroot.
Como inserir arquivos dentro do disco rígido do QEMU
Como diagnosticar seu Redox em caso de erros
Como reportar bugs para o Redox?
Como contribuir para o Redox?
- Documentação
- Guia de Contribuição no Livro do Redox
- Como fazer pull requests corretamente
- Guia do GitLab
- Sala de Desenvolvimento do Redox - Nos diga o que você planeja fazer.
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 o livro não for suficiente pra você, diga sua pergunta/problema nas salas Redox Support ou Redox Dev no Matrix.