Linux: Systemprogrammierung

28.02.2019

23.03.2020 - 27.03.2020

Veranstaltungsort: München, MicroConsult

Linux: Systemprogrammierung

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