Versuche als Aufgabenplaner zu überleben
Wir sind es gewohnt, das Betriebssystem zu verfluchen, wenn die Oberfläche einfriert oder eine Anwendung in ein stilles „Keine Rückmeldung" übergeht. Es scheint, als wäre die Verteilung von CPU-Zeit und Speicher auf ein Dutzend Programme eine triviale Aufgabe. Aber was, wenn du derjenige am Task-Manager bist?
Das You're the OS!-Projekt von Entwickler Pier-Luc Brault verwandelt grundlegende Informatikkonzepte in ein Hardcore-Arcade-Spiel. Hier wirst du buchstäblich zum Systemkern. Dein Ziel ist es, Speicher manuell zuzuweisen, Prozesskontexte zu wechseln und I/O-Interrupts zu bearbeiten. Ein paar Sekunden zu spät – und ein wütender Benutzer drückt den Reset-Knopf.

Wie das Gameplay funktioniert
Systemwarteschlangen drehen sich kontinuierlich auf dem Bildschirm. Jeder Prozess benötigt CPU-Zeit, einen Block im RAM oder eine Antwort von der Festplatte.
Du musst mehrere Parameter gleichzeitig im Auge behalten:
- Auslastung der betriebsbereiten Thread-Warteschlangen.
- Zuweisung und Bereinigung von RAM-Seiten.
- I/O-Anfragen, die die Programmausführung blockieren.
- Die Geduldsanzeige des Benutzers, die mit jedem Zyklus der Leerlaufzeit sinkt.
Wenn du eine Aufgabe zu lange im Wartezustand lässt, beginnt der Prozess zu „überkochen". Sobald die Geduld des Benutzers erschöpft ist, endet das Spiel mit einem Absturz-Neustart.
Warum sollte ein Programmierer das Betriebssystem spielen
Über den reinen Spielspaß hinaus bietet das Projekt ein praktisches Verständnis von Dingen, die wir normalerweise als Abstraktionen in Tanenbaums Lehrbüchern behandeln.
1. Praktisches Verständnis von Scheduling
Du spürst in Echtzeit, warum Algorithmen wie Round Robin oder Fair Share so konzipiert sind, wie sie sind. Versuche manuell, eine Verhungerungssituation zu vermeiden, wenn ein schwerer Hintergrund-Thread die Pipeline vollständig verstopft, während kleine interaktive Benutzerklicks ohne Antwort hängen.
2. Sandbox für benutzerdefinierte Szenarien
Das Repository enthält einen Sandbox-Modus. Du kannst dein eigenes Workload-Profil in Python beschreiben: Setze die Spawn-Intensität von Aufgaben, erforderliche Speichervolumen und I/O-Operationstypen. Dies verwandelt das Spiel in eine Stresstest-Bank.
3. API für Automatisierung und Bot-Schreiben
Der interessanteste Teil der Desktop-Version ist die Möglichkeit, das System nicht mit deinen Händen, sondern mit Code zu steuern. Das Repository enthält das automation/skeleton.py-Modul, über das du dein eigenes Scheduler-Skript verbinden kannst.
Du schreibst einen Ressourcenallokationsalgorithmus in Python, führst die Simulation aus und siehst, wie viele Zyklen dein eigener Scheduler gegen den Ereignisgenerator des Spiels durchhält.
Start und technische Details
Das Projekt ist in Python unter Verwendung der Pygame-Bibliothek geschrieben, und die Web-Version wird zu WebAssembly kompiliert. Du kannst direkt im Browser auf GitHub Pages oder itch.io spielen.
Wenn du Bots über die Automatisierungs-API schreiben möchtest, musst du das Projekt lokal ausführen.
Das Repository gibt eine strenge Versionsanforderung an: Der Autor verwendet Python 3.14 und den Paketmanager pipenv. Für Isolation ist es am besten, sofort pyenv zu verwenden:
# Клонируем проект
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
Um eine benutzerdefinierte Sandbox-Konfiguration zu erstellen, erstelle einfach eine Datei im src/sandbox/-Verzeichnis und führe den Befehl aus:
pipenv run sandbox sandbox.myConfig
Lohnt es sich
Wenn du OS-Grundlagen unterrichtest, einen Weg suchst, dein Gehirn am Wochenende zu trainieren, oder deinen eigenen Scheduler-Bot in Python schreiben möchtest, ist das Projekt definitiv eine halbe Stunde wert. Es demütigt dich schnell und erklärt klar, warum die Erstellung zuverlässiger Task-Manager einst Jahrzehnte dauerte.
Ähnliche Projekte