Title RuStuBS: Rust in der Betriebssystemlehre Authors Paul Bergmann Affiliation Friedrich-Alexander-Universität Erlangen-Nürnberg Abstract Spätestens seit der Entwicklung von C kämpft man in der Betriebssystementwicklung nicht mehr nur gegen Eigenheiten der Zielhardware, sondern auch gegen jene der gewählten Programmiersprache. Gerade Studierende stoßen im Rahmen der Betriebssystemlehre immer wieder auf Schwierigkeiten mit Besonderheiten von C oder C++, wie undefiniertes Verhalten oder fehlende Speichersicherheit. Rust als moderne, speichersichere, systemnahe Programmiersprache verspricht Abhilfe und erfreut sich im Bereich der Anwendungsentwicklung wachsender Beliebtheit. Spätestens mit der Möglichkeit, Module für den Linuxkernel in Rust zu implementieren, ist Rust ebenso in der Betriebssystementwicklung angekommen. Wie an vielen Hochschulen in Deutschland greifen wir in Erlangen mit den Lehrbetriebssystemen OOStuBS/MPStuBS auf mehrere Generationen an Erfahrung mit Betriebssystementwicklung in der Lehre zurück. Die Programmiersprache der Wahl ist hierbei C bzw. C++, was Studierenden, zumindest in Grundzügen, aus der Basislehre vertraut ist. Die Feinheiten von C/C++, insbesondere das Speichermodell, führen hierbei immer wieder zu teilweise schwer zu findenden Fehlern. Mit der zunehmenden Beliebtheit von Rust mehren sich auch die Nachfragen von Studierenden nach einer Lehrveranstaltung zur Betriebssystementwicklung mit Rust als Programmiersprache. Dieser Vortrag soll einen Erfahrungsbericht über die Vorbereitung auf eine solche Lehrveranstaltung geben. Konkret geht es um die Portierung des Lehrbetriebssystems MPStuBS von C++ nach Rust im Rahmen eines studentischen Projekts. Es wird dargelegt, welche Vorteile aber auch Nachteile Rust als Programmiersprache für ein Lehrbetriebssystem bietet. Dabei kommen Fragen auf, welche Komponenten sich einfacher oder präziser als vorher umsetzen lassen und welche Teile sich jetzt aufwendiger gestalten. Ebenso stellt sich die Frage, welche grundlegenden Betriebssystemkonzepte überdacht werden müssen, da sie sich am Programmiermodell von C/C++ orientieren und nicht eins zu eins in Rust umsetzbar sind? Der Vortrag soll nicht zuletzt auch als Grundlage für Diskussion und Erfahrungsaustausch zur modernen Betriebssystemlehre zwischen den Teilnehmenden dienen.