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

Max Schrötter


Modulnummern

  • Bachelor Computational Science: 6030
    • 555601 - Modulteilprüfung
    • 555602 - alternativ
  • Master Computational Science: 10020
    • 555201 - Modulteilprüfung
    • 555202 - alternativ

Ort/Termine

Das Seminar findet montags von 16:00 Uhr bis 18:00 Uhr online synchron per Zoom statt.

Aktuelles
Seminarvortrag: Livepatching 12.07.2021 Max L.
Seminarvortrag: Execve 05.07.2021 Maximilian F.
Seminarvortrag: Container 05.07.2021 Julia G.
Seminarvortrag: Device Drivers 28.06.2021 Mario E.
Seminarvortrag: Rust in the Linux Kernel 28.06.2021 Alexander B.
Seminarvortrag: eBPF 21.06.2021 Gerolf V.
Seminarvortrag: Boot 14.06.2021 Hannah P. Themendiskussion
Seminarvortrag: Time 14.06.2021 Hanna G.
Seminarvortrag: Network Stack 07.06.2021 Robert H.
Seminarvortrag: Userspace-Interaction 07.06.2021 Themendiskussion
Seminarvortrag: Interrupts 31.05.2021 Karla F. Themendiskussion
Seminarvortrag: Scheduling 31.05.2021 Sebastian R.
Erste Veranstaltung mit Themenvergabe 12.04.2021, 16:00 Uhr - 18:00 Uhr Zoom: Link Passcode: 59356648

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
  • Jeder Vortrag sollte, sofern möglich, ein Code-Review eines im Vortrag diskutierten Aspekts der vorgestellten Software beinhalten
  • Erfolgreicher Vortrag: max. 45 min. (inkl. Code-Review) + 15 min. Diskussion
  • 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

Vergebene Themen sind durchgestrichen.

  1. Verwaltung des Kernelspeichers
  2. Verwaltung des Anwendungsspeichers
  3. Scheduling
  4. Unterbrechungen und Ausnahmen
  5. Zeitmessung
  6. Synchronisation im Kernel
  7. Kernel/Userspace-Interaktion
  8. Network Stack Overview
  9. Booting Linux (x86 Boot Protocol, initramfs, systemd, udev)
  10. Programmable Linux Kernel: EBPF
  11. Device Drivers and Linux Driver Subsystem
  12. Rust in the Linux Kernel
  13. Linux Container
  14. Linken, Laden und Ausführen von Programmen
  15. Intel Flexible Return and Event Delivery (FRED)

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