Probeer te overleven als taakplanner
We zijn gewend om het besturingssysteem te vervloeken wanneer de interface vastloopt of een toepassing in een stil "Reageert niet" terechtkomt. Het lijkt alsof het verdelen van CPU-tijd en geheugen over een dozijn programma's een triviaal taak is. Maar wat als jij degene bent die achter de taakbeheerder zit?
Het You're the OS!-project van ontwikkelaar Pier-Luc Brault zet fundamentele informatica-concepten om in een hardcore arcadespel. Hier word je letterlijk de systeemkernel. Je doel is om handmatig geheugen toe te wijzen, procescontexten te schakelen en I/O-interrupts af te handelen. Een paar seconden te laat — en een boze gebruiker drukt op de Reset-knop.

Hoe het gameplay werkt
Systeemwachtrijen draaien continu op het scherm. Elk proces heeft CPU-tijd nodig, een blok in RAM, of een respons van de schijf.
Je moet meerdere parameters tegelijk bijhouden:
- Belasting op de klaar-voor-uitvoering thread-wachtrijen.
- Toewijzing en opschoning van RAM-pagina's.
- I/O-verzoeken die programma-uitvoering blokkeren.
- De geduldmeter van de gebruiker, die leegloopt met elke cyclus van inactieve tijd.
Als je een taak te lang in de wachtmodus laat staan, begint het proces te "overkoken." Zodra het geduld van de gebruiker op is, eindigt het spel met een crash-herstart.
Waarom zou een programmeur het besturingssysteem spelen
Naast pure gaming-opwinding biedt het project een praktische begripsvorming van dingen die we gewoonlijk behandelen als abstracties in Tanenbaum's studieboeken.
1. Praktische begripsvorming van planning
Je voelt in realtime waarom algoritmen zoals Round Robin of Fair Share zo zijn ontworpen. Probeer handmatig een starvation-situatie te vermijden wanneer een zware achtergrondthread de pijplijn volledig verstopt terwijl kleine interactieve gebruikersklikken zonder respons blijven hangen.
2. Sandbox voor aangepaste scenario's
De repository bevat een sandbox-modus. Je kunt je eigen werkbelastingsprofiel beschrijven in Python: stel de taakspawn-intensiteit in, vereiste geheugenvolumes en I/O-operation types. Dit verandert het spel in een stress-testbench.
3. API voor automatisering en bot-schrijven
Het meest interessante deel van de desktopversie is de mogelijkheid om het systeem niet met je handen te besturen, maar met code. De repository bevat de automation/skeleton.py module, waarmee je je eigen scheduler-script kunt aansluiten.
Je schrijft een resource-toewijzingsalgoritme in Python, voert de simulatie uit en ziet hoeveel cycli je eigen scheduler meegaat tegen de gebeurtenisgenerator van het spel.
Starten en technische details
Het project is geschreven in Python met behulp van de Pygame-bibliotheek, en de webversie is gecompileerd naar WebAssembly. Je kunt direct in de browser spelen op GitHub Pages of itch.io.
Als je bots wilt schrijven via de automatisering-API, moet je het project lokaal uitvoeren.
De repository vermeldt een strikte versie-vereiste: de auteur gebruikt Python 3.14 en de package manager pipenv. Voor isolatie is het het beste om meteen pyenv te gebruiken:
# Клонируем проект
git clone https://github.com/plbrault/youre-the-os.git
cd youre-the-os
# Устанавливаем зависимости
pipenv sync --dev
# Запуск десктопной версии
pipenv run desktop
# Запуск собственного скрипта автоматизации
pipenv run auto automation/your_bot.py
Om een aangepaste sandbox-configuratie te bouwen, maak je gewoon een bestand aan in de src/sandbox/ directory en voer je de opdracht uit:
pipenv run sandbox sandbox.myConfig
Is het de moeite waard
Als je OS-fundamenten onderwijst, op zoek bent naar een manier om je hersenen in het weekend te trainen, of je eigen scheduler-bot in Python wilt schrijven, is het project zeker de moeite waard om een halfuur voor vrij te maken. Het vernedert je snel en legt duidelijk uit waarom het maken van betrouwbare taakbeheerders ooit engineers decennia kostte.
Gerelateerde projecten