Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Linux-Schulung: Systemprogrammierung - Live-Online-Training

  • Inhalt
     
  • Ziele -
    Ihr Nutzen
  • Teilnehmer
     
  • Voraussetzungen
     

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).

Die Linux-Schulung richtet sich an Anwendungs- und Systemprogrammierer.

Praktische Erfahrung im Umgang mit Linux/Unix-Systemen und solide Kenntnisse der Programmiersprache C oder C++. Für Beispielprogramme und Übungen kommt C zum Einsatz.

Grundlagen der System-Programmierung

  • Die Unix-Philosophie / "Linux vs. Unix"
  • Architektur-Prinzipien
  • Abgrenzung zur Treiber-Programmierung
  • Geräteunabhängige Ein-/Ausgabe
  • Abgrenzung zu spezifischen Bibliotheken (C/C++)
  • Virtueller Speicher und Memory-Management

Resource Limits

Dynamischer Speicher

  • Grundlagen zu `malloc` und `free`
  • Tools für Debugging und Optimierung

Erzeugung und Verwaltung von Prozessen

  • Grundlagen des Rechte-Systems
  • Prozessrechte unter dem POSIX-Standard

Signalisierungsmechanismen

  • Von den Grundlagen zu den Fallgruben
  • Timer und Intervall-Timer

Multithreading

  • Posix-Threads und Alternativen
  • Performance-Aspekte
  • Synchronisationskonzepte
  • Auswahlkriterien: Threads vs. Prozesse

Scheduling und Prioritäten

Fortgeschrittene Ein-/Ausgabe

  • Memory-Mapped Files
  • Blocking- vs. Non-Blocking
  • Multiplexing

Tools zur Fehlersuche

Linux im Netzwerk

  • Grundlegendes zu TCP/IP
  • Netzwerk-Adapter
  • TCP- vs. UDP-Sockets
  • Möglichkeiten zum Muliplexing
  • TCP-Client/Server
  • UDP-Client/Server
  • Namensauflösung
  • Höhere Protokollebenen

Zu allen obigen Themen

  • "Code-Walks" durch Beispielprogramme
  • Praktische Übungen

Im Preis enthalten:
Trainingsdokumentation, Ihr Zertifikat sowie ggf. erforderliche Ziel-HW o.ä.


ALL INCLUSIVE!

Spätestens 3 Wochen vor Trainingsbeginn erhalten Sie eine verbindliche Durchführungsbestätigung.

Einige Tage vor dem Live-Online-Training erhalten Sie von uns E-Mails mit …

  • ausführlichen Infos rund um Ihr Training
  • Ihre Schulungsunterlagen (Download-Link)
  • einer Einladung zu einer optionalen Probesession mit dem Trainer
  • einer Einladung für die Schulungstage, mit Link und Zugangsdaten

Ggf. erforderliche Übungs-HW senden wir Ihnen rechtzeitig vorab zu.


ABLAUF

Live Online Training

Termin Preis *Dauer
06.09. – 10.09.20212.700,00 €4,5 Tage 
07.02. – 11.02.20222.700,00 €4,5 Tage 
Anmeldecode: L-LIN-SYS
* Preis je Teilnehmer, in Euro zzgl. USt.


> Download Blanko-Anmeldeformular
> Trainingsbeschreibung als PDF

Präsenz-Training - Deutsch

Termin Dauer
06.09. – 10.09.2021 4,5 Tage  
07.02. – 11.02.2022 4,5 Tage  

Linux-Schulung: Systemprogrammierung - Live-Online-Training

Inhalt

Grundlagen der System-Programmierung

  • Die Unix-Philosophie / "Linux vs. Unix"
  • Architektur-Prinzipien
  • Abgrenzung zur Treiber-Programmierung
  • Geräteunabhängige Ein-/Ausgabe
  • Abgrenzung zu spezifischen Bibliotheken (C/C++)
  • Virtueller Speicher und Memory-Management

Resource Limits

Dynamischer Speicher

  • Grundlagen zu `malloc` und `free`
  • Tools für Debugging und Optimierung

Erzeugung und Verwaltung von Prozessen

  • Grundlagen des Rechte-Systems
  • Prozessrechte unter dem POSIX-Standard

Signalisierungsmechanismen

  • Von den Grundlagen zu den Fallgruben
  • Timer und Intervall-Timer

Multithreading

  • Posix-Threads und Alternativen
  • Performance-Aspekte
  • Synchronisationskonzepte
  • Auswahlkriterien: Threads vs. Prozesse

Scheduling und Prioritäten

Fortgeschrittene Ein-/Ausgabe

  • Memory-Mapped Files
  • Blocking- vs. Non-Blocking
  • Multiplexing

Tools zur Fehlersuche

Linux im Netzwerk

  • Grundlegendes zu TCP/IP
  • Netzwerk-Adapter
  • TCP- vs. UDP-Sockets
  • Möglichkeiten zum Muliplexing
  • TCP-Client/Server
  • UDP-Client/Server
  • Namensauflösung
  • Höhere Protokollebenen

Zu allen obigen Themen

  • "Code-Walks" durch Beispielprogramme
  • Praktische Übungen