Linux: Systemprogrammierung
28.02.2019
23.03.2020 - 27.03.2020
Veranstaltungsort: München, MicroConsult
Diese Linux-Schulung beleuchtet die Programmierschnittstelle (API) des Betriebssystems Linux/Unix gemäß dem POSIX-Standard und der Single Unix Specification.
Sie beherrschen die Anwendung der Systemaufrufe, kennen die Implementation des Dateisystems und verstehen das Prozessmodell. Sie kennen die Kriterien für die Auswahl von klassischen Prozessen und Multithreading. Sie beherrschen die verschiedenen Modelle der Interprozesskommunikation und können asynchrone Ereignisse in Ihren Programmen verarbeiten. Sie beherrschen den Aufbau von Client-/Server- Applikationen mittels Sockets und der Internet-Protokollfamilie (TCP/IP).
Inhalt
Einführung
- Übersicht über die Systemprogrammierung unter Linux/Unix
- Wichtige Standards, Aufbau der Linux/Unix-Systemschnittstelle
- Verwendung der Systemaufrufe in den Programmiersprachen C und C++
- Übersicht über alle im Training vorgestellten Systemaufrufe
Dateiverarbeitung
- Das Konzept der geräteunabhängigen Ein-/Ausgabe
- Implementation des Dateisystems und Basisfunktionen
- Funktionen zur Dateiverarbeitung und -verwaltung
- Memory-mapped I/O, Shared Memory gemäß BSD UNIX
- Überwachung von E/A-Kanälen (Geräte, Pipes, Sockets)
- Parameterisierung von Schnittstellen (Gerätetreibern)
Prozessverwaltung und E/A-Umlenkung
- Das Prozessmodell von Linux/Unix
- Klassische Prozesse und Multi-Threading
- Funktionen zur Prozessverwaltung und -synchronisation
- Abfrage und Änderung von Prozessattributen
- Verarbeitung asynchroner Ereignisse mit Signalen
- Klassische Interprozesskommunikation über Pipes
- Programmatische Umlenkung von Ein-/Ausgaben
Interprozesskommunikation (IPC)
- Übersicht über die IPC-Verfahren von Linux/Unix
- IPC über Named Pipes (FIFOs)
- IPC über Kernel-Message-Queues
- IPC über Shared-Memory-Segmente
- Networking im Internet mittels TCP/IP und Sockets
Optionale Themen (nach Bedarf und zeitlichem Rahmen)
- Funktionen zum File-/Record-Locking
- Scattered read/write und Asynchronous I/O
- Session-Management für Dämon-Prozesse
- REACT Realtime-Erweiterungen gemäß POSIX
- Einführung in das Embedded Linux Development Kit (ELDK)
- Besonderheiten bei Embedded Plattformen
Praxis
- Alle Themen der Linux-Schulung werden anhand vieler Beispielprogramme und praktischen Übungen auf einem PC mit SuSE-Linux vertieft