Systemprogrammierung greifbar machen
Als Tutor für Grundlagen Betriebssysteme und Systemsoftware (GBS) an der TUM begleitete ich Studierende im zweiten Jahr dabei, von Low-Level-C in die Abstraktionen moderner Betriebssysteme einzusteigen.
Wir zerlegten Prozesse, Threads, Speicherhierarchien, Dateisysteme und Linux-Primitiven, damit jedes Konzept mit praktischem Tracing, Debugging und Messungen verknüpft war.
Zentrale Beiträge
Ich entwarf Tutorien, die Konzeptdurchgänge, Wissenslandkarten, formative Rückmeldungen und schnelle Unterstützung über alle Kurskanäle hinweg verbanden.
Lehre & Mentoring
Ich führte wöchentliche Labor-Sessions durch, in denen wir Prozess-Orchestrierung, Scheduling-Trade-offs, Adressübersetzung und Synchronisationstechniken einübten, gestützt durch kompakte C-Labs und Live-Unix-Tools wie strace, perf und gdb.
Bewertung & Prüfungssupport
Ich korrigierte Klausuren und Programmieraufgaben, lieferte feedbackbasierte Rückmeldungen, betreute beaufsichtigte Prüfungen und beantwortete Nachkorrektur-Anfragen mit transparenten Argumenten auf Basis von Scheduler-Traces und Speicherdiagrammen.
Betriebssystem-Säulen, die ich vermittle
Jede Einheit führte von pointer-sicherem C zu den Betriebssystemdiensten, die Software sicher und performant machen. Ich ergänzte die Theorie mit Zeitachsen, Speicherplänen und Tool-Demos, damit Studierende jede Abstraktion im Einsatz erlebten.
Prozess- & CPU-Management
Wir kontrastierten Prozesse und Threads, erkundeten Scheduling-Algorithmen von FCFS bis zum Linux CFS und analysierten Präemption anhand von Gantt-Diagrammen.
Nebenläufigkeit & Synchronisation
Wir diagnostizierten Race Conditions, setzten Mutexe und Semaphore ein und modellierten kritische Abschnitte mit Petrinetzen, um Deadlock-Freiheit zu beweisen.
Speicher- & Speicherarchitektur
Wir verglichen Stack- und Heap-Layouts, liefen mehrstufige Seitentabellen ab, simulierten Buddy-Allocatoren und deuteten inode-basierte Dateisystemstrukturen.
Moderne Isolation & Virtualisierung
Wir demonstrierten Linux-Namespaces und cgroups und verbanden sie mit Container-Sandboxes sowie Ressourcenkontrolle in realen Deployments.
Skill-Entwicklung & Wirkung
Diese Rolle schärfte meine Fähigkeit, Systems-Interna in zugängliche Geschichten zu übersetzen und analytische Tiefe mit empathischem Coaching zu verbinden, damit Studierende OS-Komplexität souverän meisterten.
Technische Kommunikation
Ich erklärte Scheduler-Zustände, Speicherübersetzungen und IO-Pfade mit geschichteten Visualisierungen, die Studierenden halfen, Trade-offs schnell zu bewerten.
Systems Debugging
Ich stellte Fehler mit Instrumentierung nach, von Pointer-Missbrauch bis zu Starvation, damit Studierende rigorose Debugging-Gewohnheiten verinnerlichten.
Führung & Empathie
Ich förderte eine neugierige Kultur, die kollaboratives Denken und präzise Sprache bei der Beschreibung von Kerneln belohnte.
Mehr entdecken?
Entdecke die Projekte und Ressourcen, die auf dem Weg entstanden sind.