Seminar: Die Architektur des Linux-Kerns (AKSI)

Seminar im Master aus der Reihe Ausgewählte Kapitel der systemnahen Informatik (AKSI)

Aktualisiert 16.10.17

Art der Veranstaltung: Seminar
Semester: Wintersemester
Betreuer: Gerion Entrup
Dozent: Daniel Lohmann
Creditpoints: 3 (Master)
Vorlesungstag/Uhrzeit: Dienstag 10:15 bis 11:45 Uhr. Erster Termin am 24. Oktober
Raum/Ort: SRA Seminarraum (Raum 135, Appelstr. 4, 1.OG)

Inhalt

Das Seminar soll Einblicke in die Abläufe der alltäglichen Forscherpraxis geben. Jeder Teilnehmer fertigt eine schriftliche Ausarbeitung und einen Folienvotrag über ein bestimmtes Themengebiet der systemnahen Informatik an. Semesterthema in diesem Jahr ist die Architektur des Linux-Kerns.

Alle Teilnehmenden bearbeiten als Thema einen Teilbereich des Linux-Kerns, wobei die schriftliche Ausarbeitung in Form eines Kapitels in einem (kleinen) Buch geschrieben werden soll und nach der Art der Linux-Kernel-Entwicklung über eine Mailingliste eingepflegt wird. Das Thema orientiert sich dabei auf Buchkapiteln von [LKD] und des aktuellen Quellcodes.

Vorkenntnisse

  • Erforderlich
    • Vorlesung Betriebssysteme (Grundlegende Kentnisse in Aufbau, Struktur und Funktionsweise eines Betriebssystems)
    • Programmieren in C
  • Empfohlen

Obwohl es inzwischen mehrere gute Bücher zum Linux-Kern gibt (siehe unten), erfolgt die Auseinandersetzung mit dem Linux-Kern immer noch vorwiegend auf Ebene des Quellcodes. Dieses setzt ein grundlegendes Verständnis von Aufbau und Struktur eines UNIX-Betriebssystems vorraus sowie die Fähigkeit, systemnahen C-Code zumindest lesen zu können.

Modus

Für die Veranstaltung soll ein 30-40 minütiger Vortrag vorbereitet werden. Die Vorträge werden wochenweise vorgestellt. Zusätzlich dazu soll eine schriftliche Zusammenfassung des Themas erstellt werden.

Da wir aber ein Seminar über den Kernel machen, entwickeln wir auch wie im Kernel! Die Ausarbeitungen sind Teil einer Zusammenfassung über den Kernel (unter einer freien Lizenz) und werden offen entwickelt. Darum wird es eine (Seminar-)öffentliche Mailingliste geben und die Ausarbeitungen werden in Form von Git-Commits an diese Mailingliste geschickt, um durch den üblichen Review- und Nachbesser-Prozess zu gehen, bis der Maintainer (Übungsleiter) akzeptiert. Natürlich können und sollen alle anderen auch kommentieren.

Themen

Es wird folgende Vorträge geben (die Daten ab KW 48 können sich noch ändern):

KW Datum Thema Vortragende(r)
43 24.10.2017 Einführung und Metavortrag „Botschaft angekommen“ Gerion und Daniel
44 31.10.2017 Feiertag Feiertag
45 7.11.2017 Kernelentwicklung und Benutzung Gerion
46 14.11.2017 Prozessmanagement/Scheduling Jan
47 21.11.2017 Interrupts/Bottom-Halves Felix
48 28.11.2017 Kernel-Synchronisation Matthias
49 5.12.2017 Timer und Systemcalls
50 12.12.2017 Memory (Kernel intern) Sophie
51 19.12.2017 entfällt entfällt
2 9.01.2018 Wie funktioniert Wissenschaft?
Lesen, Begutachten und Veröffentlichen von Fachliteratur
Daniel
3 16.01.2018 Process Address Space und VFS Elias
4 23.01.2018 Block-I/O und Page-Cache Mathias
5 30.01.2018 Module und sysfs Moritz

Literatur

Die Themenerarbeitung erfolgt hauptsächlich anhand der folgenden Bücher:

Daneben gibt es aber natürlich noch den Quellcode. Weitere Quellen werden noch themenspezifisch hinzugefügt.

Anmeldung und weitere Infos

Für diese Veranstaltung ist eine Online-Anmeldung über Stud.IP erforderlich. Bitte registrieren Sie sich (falls noch nicht geschehen) für Stud.IP und tragen Sie sich dort in die entsprechende Veranstaltung ein. Die aktuelle Prüfungsankündigung ist in Stud.IP zu finden (Reiter „Prüfungsankündigung“).