Zusammenfassung

  • Xinu war ein kleines, aber vollständiges Betriebssystem, das Studierende schrittweise bauen und auf Experimentierplatinen starten konnten.
  • Das Labor in Purdue automatisierte die Zuteilung der Platinen, das Laden des Abbilds und den Zugang zur seriellen Konsole. Dadurch ließ sich der Weg zum laufenden System wiederholen; was die Studierenden dabei lernten, wurde damit nicht gemessen.

Randy Bond erinnert sich an eine konkrete Szene: Im Frühjahr 1984 belegte er als Student im letzten Studienjahr in Purdue den Betriebssystemkurs von Doug Comer und arbeitete mit der ersten Auflage des Xinu-Buchs. Jahrzehnte später beschrieb er den Aufbau eines Unix-ähnlichen Systems von Grund auf als prägend für seine spätere Arbeit an eingebetteter Software. Das ist die rückblickende Erfahrung eines einzelnen Studenten, keine Evaluation des gesamten Kurses. Sie macht dennoch Comers pädagogische Wette sichtbar: Wer den Aufbau verfolgen und das Ergebnis selbst starten kann, sieht mehr als nur eine Schnittstelle. Purdues Bericht über Bond hält diese Erinnerung fest; die Projektunterlagen zeigen die dazugehörige Infrastruktur.

Das Vorwort des Lehrbuchs setzt bei einem bekannten Lernproblem an. Studierende können die Dienste eines Betriebssystems kennenlernen und dessen Inneres trotzdem als Blackbox auffassen. Comers Antwort bestand nicht nur darin, das Thema kleiner zu machen. Er stellte ein System bereit, dessen Komponenten in einer bewussten Hierarchie von einer nackten Maschine aus aufgebaut werden, sodass ihre Abhängigkeiten nachvollziehbar werden. Das Xinu-Vorwort behandelt Prozess- und Speicherverwaltung, Synchronisierung, geräteunabhängige Ein- und Ausgabe, Treiber, Protokolle und Dateisysteme als Teile eines ausführbaren Entwurfs, nicht als bloße Funktionsliste.

Xinu war klein, aber Purdue beschreibt es weder als Spielzeug noch als Unix mit anderem Namen. Der Name steht für „Xinu Is Not Unix“, und die Projektseite weist auf die abweichende interne Struktur hin. Die pädagogische Aussage ist enger: Auch ein kleines System kann die üblichen Betriebssystemkomponenten und ihre Abstraktionen sichtbar machen. Damit erhält ein Kurs eine konkrete Implementierung, an der sich die Architektur untersuchen lässt. Bewiesen ist weder, dass es nur eine richtige Architektur gibt, noch dass jemand, der Xinu bauen kann, jedes kommerzielle Betriebssystem versteht. Purdues Projektbeschreibung benennt Umfang und Grenzen.

Das Labor mit realer Hardware machte aus dem Lehrbuch mehr als eine Folge von Diagrammen und Quelltexten. Studierende kompilierten und linkten ein Systemabbild auf gewöhnlichen Linux-Arbeitsplätzen. Ein getrenntes Backend verband Experimentierplatinen mit Ethernet, Fernstartgeräten und einem Multiplexer für serielle Leitungen. Die Labsoftware teilte eine freie Platine zu, lud das Abbild, öffnete ein Konsolenfenster und startete das System. Nach einer Codeänderung konnten Studierende so schneller zur Hardware zurückkehren, ohne den gesamten Gerätepfad jedes Mal manuell neu aufzubauen. Die Beschreibung des Purdue-Labors dokumentiert diese Schritte.

Diese Trennung zwischen Frontend und Backend ist die operative Oberfläche des Unterrichts. Vorne stehen vertraute Entwicklungswerkzeuge; hinten wird reale Ausführung als gemeinsam genutzte Ressource verfügbar. Automatisierte Zuteilung und Übertragung sparen wiederholte Einrichtung, automatisieren aber nicht das Denken der Studierenden. Ein erfolgreicher Start zeigt, dass ein Abbild eine Platine erreicht hat und ausgeführt wird. Er belegt für sich genommen nicht, dass jemand Scheduling, Speicher, Unterbrechungen oder Gerätezugriffe verstanden hat.

Genau an der Grenze zwischen beobachtbarer Ausführung und nachgewiesenem Verständnis müssen die Aussagen vorsichtig bleiben.

Der Zugang zur Hardware war auch eine Entwurfsbedingung. Das Vorwort nennt für die ausgewählten Galileo- und BeagleBone-Black-Platinen zum Zeitpunkt der Veröffentlichung einen Preis von unter 50 US-Dollar. In der Projektchronik steht, dass der Umbau des Labors 2014 mit 120 von Intel gespendeten Galileo-Platinen und einigen BeagleBone-Black-Platinen erfolgte. Das sind historische Angaben, keine heutigen Preise und keine Kostenrechnung pro Studierendem. Die Quellen veröffentlichen weder Auslastung noch Wartezeit, Ausfallrate oder Supportaufwand.

Belegt ist ein gemeinsam genutztes Labor mit niedrigen Hardwarekosten, nicht dessen vollständige Wirtschaftlichkeit.

Die Arbeit war zudem gemeinschaftlich. Comer schrieb das Buch und prägte das System, doch das Vorwort dankt Graduierten für Ports und Treiber, nennt Rajas Karandikar und Jim Lembke als Entwickler von Galileo-Treibern und des mehrstufigen Downloadsystems und führt Studierende auf, die Fehler fanden und Code beitrugen. Die Purdue-Chronik schreibt auch Dave Stevens gemeinsame Arbeit mit Comer an einer vollständigen TCP/IP-Implementierung zu. Xinu als Einzelleistung darzustellen, würde das dokumentierte Lehrmodell ausblenden: Studierende und Mitwirkende veränderten das System, während sie damit arbeiteten.

Der Weg über eine virtuelle Maschine ist hilfreich, aber nicht gleichbedeutend mit der Experimentierplatine. Purdue zufolge ersetzt die VirtualBox-Version einige speicheradressierte Ein- und Ausgaben durch eine Behandlung für portadressierte E/A und verwendet einen anderen Ethernet-Treiber. Eine VM senkt die Hardwarehürde, verändert aber zugleich die erprobte Schnittstelle. Berichte über ein Experiment sollten angeben, ob das Ergebnis von einer physischen Platine oder aus einer Emulation stammt.

Das belegbare Vermächtnis ist konkret. Xinu verband eine lesbare Implementierung mit einem wiederholbaren Weg vom Quellcode zur Hardware und machte dadurch mehr vom Betriebssystem beobachtbar als eine API allein. Bonds Rückblick dokumentiert die Wirkung auf eine Person. Die Projektunterlagen beschreiben Code, Laboraufbau und gemeldete Nutzungen, belegen aber weder gemessene Lernfortschritte in einer kontrollierten Studie noch eine unabhängige Erhebung späterer Verbreitung. Ausführbarer Code machte die Lehre überprüfbar; ein Startprotokoll wurde dadurch noch keine Bildungsstudie.

Quellen