Version 1.1

Workshop: Linux Kernel Programmierung

Grundwissen und Beispiele

Der Workshop wird aus zwei Teilen bestehen und ca. 2 Stunden (mit 30 min Zeitpuffer für optionale Vertiefungen und Fragen) dauern:

1. Teil Hintergrundwissen

Im ersten Teil möchte ich die Grundlagen an Hintergrundwissen und Konzepten zu Linux Kernelprogrammierung
nahebringen. Vieles davon ist angenehmerweiße auch für die Kernel und Treiberentwicklung unter anderen
Systemen wie macOS, BSD und Windows NT gültig. Dazu gehören:


  • Ausführungskontexte (Process Context vs. Interrupt Context)
    und deren Bedeutung + Implikationen

  • Interrupt Handler Konzepte (Top Half und Bottom Half, ISR, Interrupt Lines)

  • Bottom Half Varianten (Work Queeus, Tasklets, SoftIRQs)

  • Kernelthreads

  • Context Switches

  • Memory Managment

2. Teil: Anwendung: Beispiele, Quellcode Erforschen

Im zweiten Teil werde ich mit euch das Wissen aus Teil 1 anwenden und ein bischen den Linux Quellcode erforschen
und verstehen. Am einfachsten geht das für das Netzwerksubsystem, wir können aber auch in andere Subsysteme Abstecher machen.
Neben der Methode "Code lesen im richtigen Editor" gibt es dafür auch noch andere praktische Wege. Dazu gehören tracing mit ftrace
und weitere mächtige tracing tools aus https://github.com/iovisor/bcc mit denen man sehr gut tief in den Kernel kucken
und Zusammenhänge erforschen kann. Wir werden ein paar davon ausprobieren und uns zusammen umkucken.

Vorbereitung

Es wäre gut wenn ihr vor dem Workshop:


  • das linux mainline repository ( git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git ) auf euren Klapprechner clont und mitbringt.

  • das trace-cmd paket installiert

Info

Day: 2018-04-21
Start time: 10:45
Duration: 01:45
Room: Raum F

Language: de

Links:

Files

Feedback

Click here to let us know how you liked this event.

Concurrent Events