Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Linux-Schulung: Systemprogrammierung

  • 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:
Mittagessen, Getränke, Trainingsunterlagen und Ihr Teilnahmezertifikat


ALL INCLUSIVE!

Verwandte Trainings

Embedded-Linux-Schulung: Embedded-Echtzeit-Linux vom Bootloader bis zum Realtime-System (Linux-RTOS)
Anmeldecode: LINUXE-RTD

Embedded-Linux-Architektur: Kernel-Treiberentwicklung
Anmeldecode: LINUXE-AR

Embedded-Linux-Training: Für Tester, Support und Service
Anmeldecode: LINUXE-T

Yocto Schulung: Grundlagen und Anwendung
Anmeldecode: YOCTO

Embedded-Linux-Softwareentwicklung
Anmeldecode: LINUXE-SWE

Linux Multithread-/Multicore-Programmierung
Anmeldecode: LINUX-MMP

Softwarerecht: Haftungsrisiken beim Einsatz von Embedded-Software und Open-Source-Software
Anmeldecode: SW-RECHT


Verwandte Trainings

Offenes Training

TerminPreis *Dauer
23.03. – 27.03.20202.250,00 €4,5 Tage 
20.07. – 24.07.20202.250,00 €4,5 Tage 
07.12. – 11.12.20202.250,00 €4,5 Tage 
Anmeldecode: LINUX-SYS
* Preis je Teilnehmer, in Euro zzgl. USt.


> Download Blanko-Anmeldeformular
> Trainingsbeschreibung als PDF

Onsite-Training

In maßgeschneiderten Workshops kombinieren wir Ihre konkreten Projektaufgaben mit unserem Trainingsangebot. Dabei berücksichtigen wir Ihre Anforderungen bezüglich Inhalt, Zeit, Ort, Dauer, technischem Umfeld und Vermittlungsmethodik.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

> Trainingsbeschreibung als PDF

Coaching

Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.

Coaching: (Embedded) Linux-Programmierung

Linux-Schulung: Systemprogrammierung

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

Merkzettel


Sie haben derzeit keine Trainings auf dem Merkzettel.