3 pontos por GN⁺ 2024-01-04 | 1 comentários | Compartilhar no WhatsApp
  • Maestro é um kernel e sistema operacional semelhante ao Unix, escrito do zero na linguagem Rust.
  • Inicialmente foi implementado em C, mas a mudança para Rust ocorreu quando ficou difícil manter a base de código limpa.
  • Rust foi uma escolha mais inovadora do que reiniciar o projeto do zero e escrever, em C, um kernel semelhante ao Linux, além de ajudar a reduzir a dificuldade da programação de kernel ao aproveitar a segurança da linguagem.

Estado atual do projeto

  • Atualmente, o Maestro é um kernel monolítico que oferece suporte apenas à arquitetura x86 (32 bits).
  • No momento da escrita, cerca de 135 chamadas de sistema do Linux, equivalentes a aproximadamente 31% do total, estão implementadas de forma aproximada.
  • Além do kernel, o sistema operacional inclui componentes como o sistema de boot e gerenciador de daemons Solfège, os utilitários de sistema maestro-utils e o gerenciador de pacotes blimp.
  • Softwares de terceiros como musl (biblioteca padrão C), bash, alguns comandos do GNU coreutils e neofetch (versão com patch) foram testados e funcionam no sistema operacional.

Teste você mesmo!

  • O sistema operacional ainda está em estágio inicial de desenvolvimento e é muito instável, portanto não é recomendado instalá-lo em máquinas com dados importantes.
  • Ele foi testado principalmente no QEMU, VMWare e VirtualBox.
  • Há duas formas de instalar o sistema operacional: baixar um arquivo .iso pré-compilado ou compilar a ISO manualmente.
  • Os pacotes instalados são armazenados na RAM (initramsfs) em vez de no disco, então é necessário ter RAM suficiente (1 GB ou mais).

Sobre este blog

  • O objetivo deste blog não é escrever um tutorial sobre como criar um sistema operacional, mas explorar temas mais avançados, compartilhar formas de resolver problemas e descobrir como funcionam computadores, sistemas operacionais, a internet e outros elementos.
  • Recomenda-se especialmente o osdev.org e o blog de Philipp Oppermann.

O que vem a seguir

  • A base de código precisa ser organizada e otimizada em termos de desempenho.
  • Correções de vazamento de memória e otimizações de performance podem se tornar temas de artigos no blog.
  • O próximo objetivo é fazer com que o gerenciador de pacotes funcione completamente no sistema operacional.
  • Também são necessários suporte a rede e suporte a bibliotecas compartilhadas.

Como ajudar

  • Você pode acompanhar o projeto deixando uma estrela no repositório do Github, assinando a newsletter, seguindo o feed RSS e participando do Discord.

Opinião do GN⁺

  • O projeto Maestro é um sistema operacional semelhante ao Unix, escrito em Rust, e se destaca por buscar mais segurança e inovação no desenvolvimento de kernels.
  • O projeto oferece uma oportunidade interessante para desenvolvedores que desejam contribuir com a comunidade open source e pode ajudar a entender a interação entre hardware e software na prática.
  • Também pode servir como um material de aprendizado útil para engenheiros de software iniciantes que queiram experimentar, na prática, as vantagens e limitações da programação de sistemas com Rust.

1 comentários

 
GN⁺ 2024-01-04
Comentários do Hacker News
  • Agradecimento pelo apoio ao projeto

    • Este projeto exigiu muito esforço e tem grande significado para o desenvolvedor.
    • No momento, o site está muito lento ou fora do ar. Houve muito tráfego inesperado e há suspeita de ataque DoS.
    • Quando voltar para casa, pretende tentar melhorar o site. No momento, por causa do trabalho, não pode dar muita atenção a isso.
    • Pede desculpas pelo inconveniente, mas está feliz por ver o projeto ser avaliado.
  • Comentário sobre um ótimo projeto pequeno

    • É surpreendente até onde se consegue chegar no boot sem implementar nem um terço das system calls do Linux.
    • Supõe-se que as system calls que ainda não foram implementadas sejam mais complexas.
    • Por exemplo, a camada de TTY atualmente parece muito básica. Implementá-la corretamente dará muito trabalho.
    • Portanto, não se deve esperar que o Maestro execute aplicações Linux nos próximos três anos.
  • Comentário sobre segurança/testes de intrusão

    • Como o projeto foi desenvolvido em Rust, gostaria de ver testes de segurança para saber se hackers conseguem encontrar vulnerabilidades.
  • Menção ao projeto Kerla

    • Também existia o Kerla (um kernel monolítico escrito em Rust com o objetivo de compatibilidade com a ABI do Linux), mas não houve atividade há vários anos.
  • Comentário sobre as desvantagens de usar C e a dificuldade do desenvolvimento de SO

    • A maior parte das desvantagens e dificuldades está na depuração.
    • Ao migrar para Rust, uma certa classe de erros de memória foi eliminada, mas fica a dúvida se depurar continua sendo difícil ou se, após a mudança, passou a ser menos necessário e por isso mais fácil.
  • Menção à descontinuação do projeto Kerla

    • É mencionado que o Kerla, um projeto que já havia sido tentado antes, foi descontinuado.
  • Comentário sobre a complexidade dos computadores

    • Os computadores são uma das ferramentas mais complexas já criadas pela humanidade.
  • Conselho sobre quitar dívida técnica

    • Quando começou como projeto escolar, por limitação de tempo, às vezes foi preciso tomar atalhos, mas agora é hora de quitar a dívida técnica; recomenda-se manter essa mentalidade.
  • Interesse no Gource

    • Há grande interesse na ferramenta chamada Gource, usada pelo autor para criar um vídeo das contribuições. Já se havia pensado em uma ideia parecida antes, mas parece que não existe ideia original.
  • Interesse em construir um kernel

    • Gosta muito da ideia de construir um kernel para fins de aprendizado. Há curiosidade sobre os materiais usados para entender melhor kernels/SOs em geral.