Seminar Linux Internals
In den Seminarthemen werden die grundlegenden Konzepte des Betriebssystems Linux behandelt.
Darüber hinaus geben einzelne Themen einen Ausblick auf andere Betriebssysteme.
Veranstalter
Dipl.-Math. Petra Vogel
Modulnummern
- Bachelor Computational Science: 6030
- 555601 - Modulteilprüfung
- 555602 - alternativ
- Master Computational Science: 10020
- 555201 - Modulteilprüfung
- 555202 - alternativ
Ort/Termine
Das Seminar findet dienstags von 14:00 Uhr bis 16:00 Uhr im Raum 03.04.0.02 statt.
Events
Aktuelles
Seminarvortrag
21.01.2020
Burkhard K.: Windows Subsystem for Linux
Kira G.: Kernel/Userspace-Interaktion
Jan-Daniel K.: Unterbrechungen und Ausnahmen
Seminarvortrag
14.01.2020
Ilai-Lukas N.: Network Stack Overview
Felix K.: Kompilierung, Linken, Laden und Ausführen von Programmen
Seminarvortrag
7.1.2020 (verschoben vom 17.12.19)
Georg D.: Zeitmessung
Seminarvortrag
10.12.2019
Sebastian R.: Scheduling
Themendiskussion
26.11.2019 und 3.12.2019
Diskussion zu ausgewählten Themen des Linux-Kernels
Vortragstechnik und Folien mit LaTeX
12.11.2019, 14:15 Uhr - 15:45 Uhr
Universität Potsdam, Raum 03.04.0.02
Tools zur Analyse von Source Code
29.10.2019, 14:00 Uhr - 16:00 Uhr
Universität Potsdam, Raum 03.04.0.02
Erste Veranstaltung mit Themenvergabe
15.10.2019, 14:00 Uhr - 16:00 Uhr
Universität Potsdam, Raum 03.04.0.02
Materialien
Anforderungen
-
Folienentwurf spätestens zwei Wochen vor dem Vortragstermin vorlegen und Termin zur Besprechung vereinbaren
-
Handout zum Vortrag: max. eine DIN A4 Seite, die die wesentlichen Inhalte des Vortrags zusammenfasst
-
Erfolgreicher Vortrag: max. 45 min. inkl. Code-Review + 15 min. Diskussion)
-
Jeder Vortrag sollte, sofern möglich, ein Code-Review eines im Vortrag diskutierten Aspekts der vorgestellten Software beinhalten
-
Ausarbeitung zwei Wochen nach Vortrag entsprechend den Vorgaben, die im Seminar bekanntgegeben werden.
Die Note setzt sich zusammen aus: 10% Vortragsentwurf, 30% Inhalt, 30% Vortragsstil und 30% Ausarbeitung.
Themenliste
-
Einführung IA32/AMD64-Architektur und Speicheradressierung (UTLK Kapitel 2)
-
Verwaltung des Kernelspeichers (UTLK Kapitel 8, LKD Kapitel 12)
-
Verwaltung des Anwendungsspeichers (UTLK Kapitel 9, LKD Kapitel 12)
-
Prozesse (UTLK Kapitel 3, LKD Kapitel 3)
-
Scheduling (UTLK Kapitel 7 teilweise veraltet; siehe auch PLKA und LKD Kapitel 4)
-
Unterbrechungen und Ausnahmen (UTLK Kapitel 4, LKD Kapitel 7)
-
Zeitmessung (UTLK Kapitel 6, LKD Kapitel 11)
-
Synchronisation im Kernel (UTLK Kapitel 5, LKA Kapitel 5, LKD Kapitel 9 + 10)
-
Kernel/Userspace-Interaktion (UTLK Kapitel 10 + 11, LKA Kapitel 10, LKD Kapitel 5)
-
Network Stack Overview (ULNI Kapitel 2, 10, 11, 13)
-
Kompilierung, Linken, Laden und Ausführen von Programmen (UTLK Kapitel 20; LKA Anhang C.1.1, C.1.2, E.1, E.1.4)
weitere Materialien:
-
Das Windows Subsystem für Linux (WSL)
Quellen:
Literatur
Webseite des Linux-Kernels
Source Code des Linux-Kernels
Linux Kernel Development (LKD)
Robert Love
Addison-Wesley Professional, 3. Edition, 2010
Professional Linux Kernel Architecture (PLKA)
Wolfgang Mauerer
John Wiley & Sons, 2008
Understanding the Linux Virtual Memory Manager
Mel Gorman
2007
Understanding the Linux Kernel (UTLK)
Daniel P. Bovet, Marco Cesati
O'Reilly Media, 2006
Understading Linux Network Internals (ULNI)
Christian Benvenuti
O'Reilly Media, 2005
Linux-Kernelarchitektur, Konzepte, Strukturen und Algorithmen von Kernel 2.6 (LKA)
Wolfgang Mauerer
Hanser Verlag, 2004