>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
C

Een besturingssysteem schrijven in 64 sessies met een neuraal netwerk

Ik stuitte onlangs op het VibeOS-project, en het wekte een intrigerende mix van opwinding en lichte jaloezie op. De auteur besloot een volwaardig besturingssysteem voor ARM64 helemaal opnieuw te schrijven. Maar het interessantste is nog niet eens dat. Hij deed het in samenwerking met Claude Code, waarbij hij het hele proces documenteerde — van de eerste coderegel tot het draaien van DOOM.

Dit is niet zomaar een speelgoed "Hallo Wereld"-systeem. We kijken naar een project met een macOS-achtige GUI, een aangepaste netwerkstack, HTTPS-ondersteuning en zelfs een ingebouwde Python-interpreter.

Wat is dit eigenlijk

VibeOS is een hobby-OS geschreven in C voor de aarch64-architectuur. Het draait in de QEMU-emulator en op echte hardware, specifiek de Raspberry Pi Zero 2W. De ontwikkeling kostte 64 AI-interactiesessies. Als je naar de sessielogs in de repository kijkt, kun je traceren hoe het project substantie kreeg: van de bootloader en interrupt-afhandeling tot de implementatie van de window manager.

VibeOS Desktop

De auteur geeft eerlijk toe: niet alles werkt, sommige delen van de code zijn zelfs nog niet getest. Maar wat draait is indrukwekkend. Het is een geweldig voorbeeld van hoe moderne LLM's de instapdrempel verlagen in zulke complexe gebieden als systeemprogrammeren en kernel-ontwikkeling.

Wat zit erin: Kernel en Interface

Aan de kern is een aangepaste kernel met coöperatieve multitasking. Er is FAT32-bestandssysteemondersteuning met lange bestandsnamen, wat vaak een struikelblok wordt voor zelfgemaakte systemen.

De GUI ziet er verrassend modern uit. Hier is wat erin zit:

  • Bureaublad met versleepbare vensters.
  • Doc-paneel en menu.
  • Volledige muis- en toetsenbordinvoer.
  • Venster minimaliseren en sluitanimaties.

Terminal

Visueel lijkt het op een vereenvoudigde versie van macOS, en voor een systeem dat "voor de lol" is geschreven, ziet het er zeer gepolijst uit.

Netwerken en Ontwikkeling Binnen het Systeem

Meestal zijn zelfgemaakte OS'en beperkt tot tekstuitvoer in de console. VibeOS ging verder. Het systeem heeft een ingebouwde TCP/IP-stack, een DNS-resolver en zelfs een HTTP-client met TLS 1.2-ondersteuning. Dit stelt de ingebouwde browser (ja, die bestaat) in staat om eenvoudige HTML en CSS te renderen.

Maar wat mijn aandacht het meest trok, zijn de ontwikkeltools binnen VibeOS zelf:

  1. Tiny C Compiler (TCC). Je kunt C-code schrijven direct in het systeem en het ter plekke compileren.
  2. MicroPython. Er zijn bindings naar de kernel API, dus je kunt taken automatiseren in Python.
  3. VibeCode IDE. Een VS Code-achtig alternatief voor dit systeem.

VibeCode

En natuurlijk, de klassieker: DOOM is gepord naar VibeOS. Om het te draaien moet je zelf het doom1.wad bestand vinden en in de games-map plaatsen, maar het feit dat de port bestaat spreekt tot de levensvatbaarheid van de systeemcalls.

Hardware en Operationele Nuances

Als je besluit dit op een Raspberry Pi Zero 2W te draaien, bereid je dan voor op avonturen. De auteur waarschuwt dat de USB-driver lastig is. Bijvoorbeeld, je moet het toetsenbord strikt vóór de muis in de hub steken, anders herkent het systeem ze mogelijk niet. Hotplug wordt niet ondersteund: als je iets ontkoppelt, moet je opnieuw opstarten.

Op de echte "Pi" is er nog geen geluid of netwerk (geen Wi-Fi drivers), maar de GUI in Full HD (1920x1080) draait stabiel.

Hoe Het Zelf Te Proberen

De gemakkelijkste manier is om het project in QEMU te draaien. Je hebt een cross-compiler aarch64-elf-gcc nodig. Op macOS ziet de installatie er eenvoudig uit:

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

Het make disk commando maakt een schijfimage, en make run bouwt de kernel, alle gebruikersprogramma's en start de emulator.

Wie Heeft Hier Voordeel Bij

VibeOS is geen Linux-vervanger of een "Windows-killer"-kandidaat. Het is primair een leerboek. Als je altijd al hebt willen begrijpen hoe interrupts werken, hoe je je eigen geheugentoewijzer schrijft, of hoe je venster verslepen implementeert op framebufferniveau, dan is deze repository een goudmijn.

Het is vooral interessant om de Claude-sessielogs te bestuderen. Het is een praktische gids voor "prompt engineering" in de context van low-level code. Je kunt zien waar het neurale netwerk fouten maakte en hoe de auteur het begeleidde om bugs in drivers of het bestandssysteem te verhelpen.

Het project is de moeite waard om op zijn minst te verkennen om dit te zien: je eigen OS maken is tegenwoordig geen decennium van afzondering, maar een perfect haalbaar paar maanden project als je de juiste tools bij de hand hebt.

Gerelateerde projecten