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)