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
Steffen Christgau
Prof. Dr. Bettina Schnor
Modulnummern
- Bachelor Computational Science: 6030
- 555601 - Modulteilprüfung
- 555602 - alternativ
- Master Computational Science: 10020
- 555201 - Modulteilprüfung
- 555202 - alternativ
Ort/Termine
Das Seminar findet donnerstags von 12:00 Uhr bis 14:00 Uhr im Raum 03.04.1.02 statt.
Events
Aktuelles
Seminarvortrag
20.07.2017
Max S.: Windows Subsystem for Linux
Seminarvortrag
13.07.2017
Lauris D.: Interaktion zw. Kernel- und Userspace
Jessica O.: Überblick Linux Netzwerk-Stack
Seminarvortrag
06.07.2017
Wolf S.: Zeitmessung
Moritz K.: Synchronisation im Kernel
Themendiskussion
18.05.2017 und 01.06 bis 15.06.2017
Diskussion zu ausgewählten Themen des Linux-Kernels
Folien und wissenschaftliches Schreiben mit LaTeX
11.05.2017, 12:00 Uhr - 14:00 Uhr
Universität Potsdam, Raum 03.04.1.02
Tools zur Analyse von Source Code
27.04.2017, 12:00 Uhr - 14:00 Uhr
Universität Potsdam, Raum 03.04.1.02
Erste Veranstaltung mit Themenvergabe
20.04.2017, 12:00 Uhr - 14:00 Uhr
Universität Potsdam, Raum 03.04.1.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), bearbeitet von Wolf S.
-
Synchronisation im Kernel (UTLK Kapitel 5, LKA Kapitel 5, LKD Kapitel 9 + 10), bearbeitet von Moritz K.
-
Kernel/Userspace-Interaktion (UTLK Kapitel 10 + 11, LKA Kapitel 10, LKD Kapitel 5), bearbeitet durch Lauris D.
-
Network Stack Overview (ULNI Kapitel 2, 10, 11, 13), bearbeitet durch Jessica O.
-
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), ggf. bearbeitet durch Max S.
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