>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
C

Como Escrever um Sistema Operacional em 64 Sessões Usando uma Rede Neural

Recentemente me deparei com o projeto VibeOS, e isso despertou uma mistura intrigante de entusiasmo e um certo inveja. O autor decidiu escrever um sistema operacional completo para ARM64 do zero. Mas a parte mais interessante nem é essa. Ele fez isso em parceria com o Claude Code, documentando todo o processo — da primeira linha de código até rodar DOOM.

Este não é apenas um sistema "Hello World" de brincadeira. Estamos falando de um projeto com GUI estilo macOS, um stack de rede personalizado, suporte a HTTPS e até um interpretador Python integrado.

O Que É Isso Afinal

VibeOS é um SO hobby escrito em C para a arquitetura aarch64. Ele roda no emulador QEMU e em hardware real, especificamente o Raspberry Pi Zero 2W. O desenvolvimento levou 64 sessões de interação com IA. Se você olhar os logs das sessões no repositório, pode acompanhar como o projeto ganhou corpo: do bootloader e tratamento de interrupções até a implementação do gerenciador de janelas.

VibeOS Desktop

O autor admite com honestidade: nem tudo funciona, algumas partes do código nem foram testadas. Mas o que está funcionando é impressionante. É um ótimo exemplo de como LLMs modernos ajudam a reduzir a barreira de entrada em campos tão complexos como programação de sistemas e desenvolvimento de kernel.

O Que Tem Por Dentro: Kernel e Interface

No seu núcleo está um kernel personalizado com multitarefa cooperativa. Há suporte a sistema de arquivos FAT32 com nomes longos, o que frequentemente se torna um obstáculo para sistemas caseiros.

A GUI parece surpreendentemente moderna. Aqui está o que está incluído:

  • Desktop com janelas arrastáveis.
  • Painel de documentos e menu.
  • Suporte completo a mouse e teclado.
  • Animações de minimizar e fechar janelas.

Terminal

Visualmente, lembra uma versão simplificada do macOS, e para um sistema escrito "por diversão", parece muito polido.

Rede e Desenvolvimento Dentro do Sistema

Normalmente, SOs caseiros são limitados à saída de texto no console. O VibeOS foi além. O sistema tem um stack TCP/IP integrado, um resolvedor DNS e até um cliente HTTP com suporte a TLS 1.2. Isso permite que o navegador embutido (sim, ele existe) renderize HTML e CSS simples.

Mas o que mais chamou minha atenção são as ferramentas de desenvolvimento dentro do próprio VibeOS:

  1. Tiny C Compiler (TCC). Você pode escrever código C diretamente no sistema e compilá-lo na hora.
  2. MicroPython. Existem bindings para a API do kernel, então você pode automatizar tarefas em Python.
  3. VibeCode IDE. Uma alternativa estilo VS Code para este sistema.

VibeCode

E é claro, o clássico: DOOM foi portado para o VibeOS. Para rodar, você precisará encontrar o arquivo doom1.wad por conta própria e colocá-lo na pasta de jogos, mas o fato de que a porta existe fala sobre a viabilidade das chamadas de sistema.

Hardware e Nuances Operacionais

Se você decidir rodar isso em um Raspberry Pi Zero 2W, prepare-se para aventuras. O autor alerta que o driver USB é temperamental. Por exemplo, você precisa plugar o teclado no hub estritamente antes do mouse, caso contrário o sistema pode não reconhecê-los. Hotplug não é suportado: se você desplugar algo, terá que reiniciar.

No "Pi" real, ainda não há som ou rede (sem drivers Wi-Fi), mas a GUI em Full HD (1920x1080) roda de forma estável.

Como Experimentar Você Mesmo

A forma mais fácil é rodar o projeto no QEMU. Você vai precisar de um cross-compiler aarch64-elf-gcc. No macOS, a instalação parece simples:

brew install aarch64-elf-gcc qemu
make disk
make run

O comando make disk vai criar uma imagem de disco, e make run vai compilar o kernel, todos os programas de usuário e iniciar o emulador.

Quem Se Beneficiará Disso

VibeOS não é um substituto do Linux nem um concorrente para "matar" o Windows. É principalmente um livro-texto. Se você sempre quis entender como interrupções funcionam, como escrever seu próprio alocador de memória, ou como implementar arrastar janelas no nível do framebuffer, este repositório é uma mina de ouro.

É especialmente interessante estudar os logs das sessões do Claude. É um guia prático de "engenharia de prompts" no contexto de código de baixo nível. Você pode ver onde a rede neural errou e como o autor a guiou para corrigir bugs em drivers ou no sistema de arquivos.

O projeto vale a pena explorar pelo menos para ver: criar seu próprio SO hoje não é uma década de reclusão, mas um projeto de poucos meses perfeitamente viável se você tiver as ferramentas certas em mãos.

Projetos relacionados