Kurs: C für Linux/UNIX-System-Programmierung

Dauer: 2-3 Tage

Motivation: C ist "die natürliche Programmiersprache" unter Linux (und Unix allgemein), z.B. sind der Linux-Kern und viele der System-Tools in C programmiert. Über C können alle Linux/UNIX-Systemaufrufe, die letztlich die Schnittstelle zwischen Benutzerprogrammen und dem Kern bilden, aufgerufen werden. Gerade für Multitasking-Mechanismen oder Prozesskommunikation sind diese Systemaufrufe sehr wichtig.

Ziel: Mittels vieler Übungen lernen Sie die Linux/UNIX-Systemzugriff über C kennen und sie vor allem portabel einzusetzen.

Inhalt:

  • Grundlegende Begriffe
  • Elementare Datei-Ein/Ausgabe
    • Filedeskriptoren
    • Semaphore auf Dateibasis
  • Fortgeschrittene Ein/Ausgabe
    • Zugriff auf Kataloge
    • Zugriff auf Gerätedateien
    • Dateiattribute
  • Terminal-Ein/Ausgabe
    • ioctl
  • Prozesse
    • exec
    • fork
    • wait
    • exit
  • Elementare Prozesskommunikation
    • Pipes
    • Bidirektionale Pipes
  • Fortgeschrittene Prozesskommunikation
    • FIFO/Named Pipes
    • Semaphore
    • Shared-Memory
    • Record-Locking
  • Signale
  • Systemaufrufe

Schulungsunterlagen:

  • Skript/Buch
  • Lösungsblätter zu allen Übungen

Voraussetzungen:

  • Muss: Kenntnis einer beliebigen Programmiersprache
  • Muss: Kurs "C-Einführung"
  • Muss: Kurs "Linux/UNIX-Grundlagen"

Abgrenzung:

  • Netzwerk-Programmierung wird nicht behandelt (siehe extra Kurs)