Comment écrire un système d'exploitation en 64 sessions avec un réseau de neurones
Je suis récemment tombé sur le projet VibeOS, et cela a déclenché un mélange intriguant d'excitation et d'une légère jalousie. L'auteur a décidé d'écrire un système d'exploitation complet pour ARM64 à partir de zéro. Mais la partie la plus intéressante n'est même pas là. Il l'a fait en partenariat avec Claude Code, en documentant l'ensemble du processus — de la première ligne de code à l'exécution de DOOM.
Ce n'est pas un simple système « Hello World » de jouet. Nous parlons d'un projet avec une interface graphique de style macOS, une pile réseau personnalisée, le support HTTPS, et même un interpréteur Python intégré.
Qu'est-ce que c'est exactement
VibeOS est un OS amateur écrit en C pour l'architecture aarch64. Il fonctionne dans l'émulateur QEMU et sur du matériel réel, spécifiquement le Raspberry Pi Zero 2W. Le développement a nécessité 64 sessions d'interaction avec l'IA. Si vous regardez les journaux de sessions dans le dépôt, vous pouvez suivre comment le projet a pris substance : du bootloader et de la gestion des interruptions jusqu'à l'implémentation du gestionnaire de fenêtres.
L'auteur admet honnêtement : tout ne fonctionne pas, certaines parties du code n'ont même pas été testées. Mais ce qui fonctionne est impressionnant. C'est un excellent exemple de comment les LLM modernes aident à réduire la barrière d'entrée dans des domaines aussi complexes que la programmation système et le développement de noyaux.
Ce qu'il y a à l'intérieur : Noyau et Interface
Au cœur du système se trouve un noyau personnalisé avec du multitâche coopératif. Il y a le support du système de fichiers FAT32 avec les noms de fichiers longs, ce qui devient souvent un obstacle pour les systèmes maison.
L'interface graphique semble surprenamment moderne. Voici ce qui est inclus :
- Bureau avec des fenêtres déplaçables.
- Panneau de documents et menu.
- Entrée complète souris et clavier.
- Animations de minimisation et de fermeture des fenêtres.
Visuellement, cela ressemble à une version simplifiée de macOS, et pour un système écrit « pour le plaisir », cela semble très soigné.
Réseau et développement à l'intérieur du système
D'habitude, les OS maison sont limités à la sortie de texte dans la console. VibeOS est allé plus loin. Le système a une pile TCP/IP intégrée, un résolveur DNS, et même un client HTTP avec le support TLS 1.2. Cela permet au navigateur intégré (oui, il existe) d'afficher du HTML et du CSS simples.
Mais ce qui a le plus attiré mon attention, ce sont les outils de développement à l'intérieur de VibeOS lui-même :
- Tiny C Compiler (TCC). Vous pouvez écrire du code C directement dans le système et le compiler sur place.
- MicroPython. Il y a des liaisons vers l'API du noyau, donc vous pouvez automatiser des tâches en Python.
- VibeCode IDE. Une alternative de type VS Code pour ce système.
Et bien sûr, le classique : DOOM a été porté sur VibeOS. Pour l'exécuter, vous devrez trouver le fichier 1 vous-même et le placer dans le dossier des jeux, mais le fait que le port existe témoigne de la viabilité des appels système.
Matériel et nuances opérationnelles
Si vous décidez d'exécuter ceci sur un Raspberry Pi Zero 2W, préparez-vous à des aventures. L'auteur avertit que le pilote USB est capricieux. Par exemple, vous devez brancher le clavier sur le hub strictement avant la souris, sinon le système pourrait ne pas les reconnaître. Le hotplug n'est pas supporté : si vous débranchez quelque chose, vous devrez redémarrer.
Sur le vrai « Pi », il n'y a pas encore de son ni de réseau (pas de pilotes Wi-Fi), mais l'interface graphique en Full HD (1920x1080) fonctionne de manière stable.
Comment l'essayer vous-même
La méthode la plus simple est d'exécuter le projet dans QEMU. Vous aurez besoin d'un compilateur croisé 2. Sur macOS, l'installation semble simple :
0La commande 3 créera une image disque, et 4 compilera le noyau, tous les programmes utilisateur, et lancera l'émulateur.
Qui en bénéficiera
VibeOS n'est pas un remplacement de Linux ni un candidat « tueur de Windows ». C'est principalement un manuel. Si vous avez toujours voulu comprendre comment fonctionnent les interruptions, comment écrire votre propre allocateur de mémoire, ou comment implémenter le déplacement de fenêtres au niveau du framebuffer, ce dépôt est une mine d'or.
C'est particulièrement intéressant d'étudier les journaux de sessions Claude. C'est un guide pratique de « prompt engineering » dans le contexte du code de bas niveau. Vous pouvez voir où le réseau de neurones a fait des erreurs et comment l'auteur l'a guidé pour corriger des bugs dans les pilotes ou le système de fichiers.
Le projet mérite d'être exploré au moins pour voir : créer votre propre OS aujourd'hui n'est pas une décennie de réclusion, mais un projet de quelques mois tout à fait réalisable si vous avez les bons outils à portée de main.
Projets similaires