31.08.2022
Linux Schulung: Systemprogrammierung (Seminar)
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