Systemnahe Programmierung unter Linux


Unter UNIX gilt seit jeher der Leitsatz "Everything is a file" - das ist umso mehr wahr unter Linux. In diesem Kurs wird Anwendungsprogrammierung auf unterster Ebene gezeigt, wo sich die Schönheit am des Systems ehesten offenbart (manche sind hier anderer Meinung - die werden aber eines besseren belehrt). Der Kurs soll ein Verständnis für die grundlegenden Konzepte vermitteln und somit helfen, die Effizienz und Eleganz von Linux optimal zu nutzen.


Zielgruppe:
Der Kurs wendet sich an Anwendungsprogrammierer, die vor der Aufgabe stehen, systemnahe Software für Linux neu zu entwickeln oder von einem anderen Betriebssystem nach Linux zu portieren. Die Teilnehmer sollten fundierte Kenntnisse in C mitbringen; Kenntnisse von Betriebssystemen sind von Vorteil.

Im Kurs werden folgende Themen behandelt:
  • Driverprogrammierung. Hier wird ein kurzer Überblick gegeben, um einen Eindruck der Schnittstellen zwischen Kernel und Userspace zu vermitteln.
  • Ein Blick aus dem Userspace in den Kernel. Device Files, sysfs, procfs. Wie geht man mit den Schnittstellen um, und wann verwendet man welche?
  • Netzwerkprogrammierung, oder: warum ist da so wenig Unterschied zwischen Sockets und Devices? Was sind UNIX Domain Sockets?
  • Serielle Schnittstellen. Das "termios" Package verdient ein eigenes Kapitel, so leid es mir auch tut.
  • Die "Neuen": inotify, timerfd, eventfd, signalfd, u.a.
  • Prozesse. Wie und wann verwende ich den fork() Systemcall? Wie geht das mit den Filedeskriptoren? Das Thema Signalhandling wird hier ebenfalls behandelt.
  • Multithreading/Parallele Programmierung - das Posix Threads API, und die Linux-spezifischen Erweiterungen. Synchronisations- und Kommunikationsmechanismen, Scheduling-Arten ("Policies"), Wege zur Vermeidung von Priority Inversion, Stackhandling.
  • Realtime. Obwohl Linux (noch) nicht für "Hard" Realtime in Frage kommt, ist die Unterstützung von Realtime-Anforderungen sehr gut. Ein Überblick sowohl über die Möglichkeiten als auch (besonders) über die Gefahren.
  • Shared Libraries. Linker Optionen und verschiedene Arten, eine Shared Library zu laden.
  • Verschiedenes. Debugging (gdb, strace, valgrind), Filesystemrechte, Syslog, Resource-Limits, USB Programmierung im Userspace, u.v.a.m.


Dozent: Dipl.-Ing. Jörg Faschingbauer

Kurs-Termine:
  • Von Montag, dem 7. Mrz, 2016 bis Freitag, den 11. Mrz, 2016 (5 Tage)
  • Von Montag, dem 30. Mai, 2016 bis Freitag, den 3. Juni, 2016 (5 Tage)
  • Von Montag, dem 5. September, 2016 bis Freitag, den 9. September, 2016 (5 Tage)

Zeitdauer:
5 Tage



Preise pro Tag für diesen Kurs:

Hemmenhofen am Bodensee    369,- € ohne MwSt.
in unmittelbarer Nähe von Konstanz und Zürich
Nürnberg, München, Augsburg 389,- € ohne MwSt.
Stuttgart, Karlsruhe, Freiburg, Ulm, Saarbrücken    379,- € ohne MwSt.
Hamburg, Berlin, Hannover 389,- € ohne MwSt.
Frankfurt, Köln, Kassel 389,- € ohne MwSt.
Unser bestes Angebot:    464,- € ohne MwSt.
Preis pro Kurstag inklusive Übernachtung mit Vollpension im 4-Sterne Hotel Hoeri direkt am Bodensee mit Spa, Sauna, Fitness-Bereich, Swimming-Pool und eigenem Strand am See


Achtung:
Unsere Kurse am Bodensee finden im 4-Sterne-Hotel Hoeri statt. Für nur 96,- € pro Tag können Sie eine Übernachtung mit Vollpension zubuchen. Damit runden Sie jeden Kurs-Tag mit einem viergängigen Menu ab. Lassen Sie sich überraschen! Unsere Kunden aus Baden-Württemberg und der Schweiz konnten wir bisher immer sowohl was das Kulinarische und vor allem das Fachliche betrifft immer zur vollen Zufriedenheit überzeugen!

Bilder vom Hotel Hoeri

Außerdem im Preis des Kurses enthalten:
Schulungsunterlagen

© Der Inhalt und die Bilder dieser Seite unterliegen dem Copyright wie im Impressum beschrieben.