Moderne Betriebssysteme sind über die letzten Jahrzehnte zu komplexen Softwaresystemen herangewachsen, welche eine Vielzahl an Geräten unterstützen. Zur Vermeidung sowie zur Detektion von Programmierfehlern bieten Sie daher eine Fülle an Werkzeugen an, um die Prozesse innerhalb eines Betriebssystems nachzuvollziehen.
Im Rahmen dieser Lehrveranstaltung erhalten die Studierenden einen Einblick in die Verwendung solcher "Debugging"-Werkzeuge von zum Beispiel Linux. Zu diesem Zweck werden die Studierenden in einer ersten Phase angeleitet, einen Betriebssystemkern zu konfigurieren und zu übersetzen. Daraufbauend werden ihnen stückweise die einzelnen Werkzeuge sowie das Erstellen eines einfaches Treibers näher gebracht.
Hierzu wird es abwechselnd kleine Seminare durch die Lehrenden gefolgt von dazu passenden Aufgaben geben. In der zweiten Phase sollen die Studierenden das erlernte Wissen anhand eines defekten Betriebssystemkerns mit mehreren Fehleren anwenden. Sie sollen die Fehler finden und -- ggf. unter Anleitung -- beheben.
Für die Veranstaltung sind folgende Vorkenntnisse erforderlich:
- Erfahrung in den Programmiersprachen C oder C++
- Verständnis von Übersetzungsprozessen (make, gcc, ...)
- Umgang mit der Linux-Kommandozeile
- Erfolgreicher Abschluss des Moduls "Betriebssysteme"
Es wird keine separate Einführung in die oben genannten Themengebiete geben.