Come Scrivere un Sistema Operativo in 64 Sessioni Usando una Rete Neurale
Di recente mi sono imbattuto nel progetto VibeOS, e ha suscitato un mix intrigante di eccitazione e leggero invidia. L'autore ha deciso di scrivere un sistema operativo completo per ARM64 da zero. Ma la parte più interessante non è nemmeno questa. L'ha fatto in partnership con Claude Code, documentando l'intero processo — dalla prima riga di codice all'esecuzione di DOOM.
Non è solo un sistema "Hello World" giocattolo. Stiamo parlando di un progetto con una GUI stile macOS, uno stack di rete personalizzato, supporto HTTPS e persino un interprete Python integrato.
Cos'è Questo
VibeOS è un OS hobbistico scritto in C per l'architettura aarch64. Funziona nell'emulatore QEMU e su hardware reale, specificamente il Raspberry Pi Zero 2W. Lo sviluppo ha richiesto 64 sessioni di interazione AI. Se guardate i log delle sessioni nel repository, potete tracciare come il progetto ha acquisito sostanza: dal bootloader e gestione degli interrupt all'implementazione del window manager.

L'autore ammette onestamente: non tutto funziona, alcune parti del codice non sono nemmeno state testate. Ma ciò che è attivo e funzionante è impressionante. È un ottimo esempio di come i moderni LLM aiutino ad abbassare la barriera d'ingresso in campi così complessi come la programmazione di sistema e lo sviluppo kernel.
Cosa C'è Dentro: Kernel e Interfaccia
Al suo core c'è un kernel personalizzato con multitasking cooperativo. C'è supporto filesystem FAT32 con nomi file lunghi, che spesso diventa un ostacolo per i sistemi fatti in casa.
La GUI appare sorprendentemente moderna. Ecco cosa include:
- Desktop con finestre trascinabili.
- Pannello doc e menu.
- Input completo da mouse e tastiera.
- Animazioni di minimizzazione e chiusura delle finestre.

Visivamente, assomiglia a una versione semplificata di macOS, e per un sistema scritto "per divertimento," appare molto rifinito.
Networking e Sviluppo all'Interno del Sistema
Di solito i sistemi operativi fatti in casa sono limitati all'output di testo nella console. VibeOS è andato oltre. Il sistema ha uno stack TCP/IP integrato, un resolver DNS, e persino un client HTTP con supporto TLS 1.2. Questo permette al browser integrato (sì, esiste) di renderizzare HTML e CSS semplici.
Ma ciò che ha attirato di più la mia attenzione sono gli strumenti di sviluppo all'interno di VibeOS stesso:
- Tiny C Compiler (TCC). Puoi scrivere codice C direttamente nel sistema e compilarlo al volo.
- MicroPython. Ci sono binding all'API del kernel, quindi puoi automatizzare compiti in Python.
- VibeCode IDE. Un'alternativa stile VS Code per questo sistema.

E ovviamente, il classico: DOOM è stato portato su VibeOS. Per eseguirlo, dovrai trovare il file doom1.wad da solo e copiarlo nella cartella dei giochi, ma il fatto che il port esista parla della viabilità delle system call.
Hardware e Sfumature Operative
Se decidi di eseguire questo su un Raspberry Pi Zero 2W, preparati ad avventure. L'autore avverte che il driver USB è pignolo. Ad esempio, devi inserire la tastiera nell'hub rigorosamente prima del mouse, altrimenti il sistema potrebbe non riconoscerli. L'hotplug non è supportato: se scolleghi qualcosa, dovrai riavviare.
Sul "Pi" reale, non c'è ancora audio o rete (nessun driver Wi-Fi), ma la GUI in Full HD (1920x1080) funziona stabilmente.
Come Provarlo da Solo
Il modo più semplice è eseguire il progetto in QEMU. Avrai bisogno di un cross-compiler aarch64-elf-gcc. Su macOS, l'installazione appare semplice:
Il comando make disk creerà un'immagine disco, e make run costruirà il kernel, tutti i programmi utente, e avvierà l'emulatore.
Chi Beneficerà di Questo
VibeOS non è un sostituto di Linux né un candidato "killer di Windows". È principalmente un libro di testo. Se hai sempre voluto capire come funzionano gli interrupt, come scrivere il tuo allocatore di memoria, o come implementare il drag delle finestre a livello di framebuffer, questo repository è una miniera d'oro.
È particolarmente interessante studiare i log delle sessioni di Claude. È una guida pratica al "prompt engineering" nel contesto del codice di basso livello. Puoi vedere dove la rete neurale ha commesso errori e come l'autore l'ha guidata a correggere bug nei driver o nel filesystem.
Il progetto vale la pena esplorarlo almeno per vedere: creare il tuo OS oggi non è un decennio di reclusione, ma un progetto perfettamente fattibile di pochi mesi se hai gli strumenti giusti a portata di mano.
Progetti correlati