Edocti
Fortgeschrittene technische Ausbildung für den modernen Softwareingenieur
Edocti Training

Linux-Interna und Anwendungsprogrammierung

Mittelstufe
21 h
4.7 (201 Bewertungen)

Geplante Sessions

Aktuell sind keine Termine verfügbar.
Linux-Interna und Anwendungsprogrammierung

Linux von innen: Tauchen Sie durch praktische C-Programmierung tief in System Calls, Prozessmanagement, IPC und Speicherverwaltung ein.

Absolvieren Sie Hands-on-Labs mit Fokus auf POSIX-APIs, File I/O, Signale, Pipes und Shared Memory-Implementierungen.

Erkunden Sie CPU-Scheduling, Multithreading und fortschrittliche Synchronisationsmechanismen im Detail.

Praktische Erfahrung sammeln: Durch aktives Programmieren, Testen und Debuggen komplexer User-Space-Anwendungen (~70 % Labs).

Wie dieser Kurs hilft: Bauen Sie ein äußerst robustes Fundament auf, um effiziente, sichere und portable Linux-Anwendungen zu entwickeln.

Für wen: Entwickler mit grundlegenden C- und Linux-Kenntnissen, die in die fortgeschrittene Systemprogrammierung aufsteigen möchten.

Am Ende des Kurses beherrschen Sie die Linux-Interna und können robuste User-Level-Anwendungen souverän konzipieren und umsetzen.

Fähigkeiten, die Sie lernen werden

Linux System Calls POSIX APIs & IPC Multithreading & Sync Speicherverwaltung Signale & Fehlerbehandlung GDB & Core Dumps Yocto Project Basics Embedded Linux Konzepte

Curriculum

Einführung in Embedded Linux

  • Analyse der Hauptkomponenten eines Embedded‑Linux‑Projekts

Toolchains

  • Arten von Toolchains
  • Auswahl der C‑Bibliothek
  • Komponenten und Tools des Toolchains
  • Toolchain‑Build (Fokus ARM)
  • Static vs. dynamic linking
  • Cross‑Compiling größerer Projekte — ein Beispiel

Bootloader

  • Bootloader verstehen
  • Einführung in Device Trees
  • Das U‑Boot: Installation, Konfiguration, Hauptbefehle

Kernel booten

  • Boot auf BeagleBone Black
  • Boot auf QEMU

Eine einfache Linux‑Applikation

  • Sehr kurzer Einstieg in POSIX IPC
  • Aufbau einer einfachen IPC‑Applikation für den Kurs

Debugging und Core Dumps

  • Grundlegendes Debugging
  • Remote Debugging
  • Wichtige GDB‑Befehle
  • Analyse von Core‑Files und Kontrolle CPU‑intensiver Anwendungen

Einführung in Yocto

  • Yocto installieren
  • Konfigurieren, Bauen und Ausführen
  • Layers, BitBake und Recipes
  • Images anpassen

Kernel‑Programmierung – Vorschau

  • Error numbers und Kernel‑Ausgaben
  • task_struct Überblick
  • Verkettete Listen im Kernel
  • OO‑Mechanismen im Kernel

Einführung in Module

  • Triviales Beispiel
  • Module kompilieren
  • Modules vs. built‑in
  • Modul‑Utilities
  • Automatisches Laden/Entladen
  • Symbole exportieren

Einführung in Device Drivers

  • Modules und Device Drivers
  • Speicherallokation/‑freigabe
  • Datenübertragung zwischen User‑ und Kernel‑Space
  • Character devices
  • Cache‑Nutzung
  • Interrupts und Exceptions
  • Deferrable functions

Optionale Module

Vorgeschlagene Erweiterungen (optional)

  • systemd‑Service Units und Prozess‑Supervision
  • Vertiefte IPC: POSIX Message Queues, Shared Memory, Semaphores
  • Dateisysteme: /proc und sysfs‑Grundlagen für App‑Entwickler
  • Scheduling und Prioritäten (nice/rtprio) in User‑Space
  • gdbserver + VS‑Code‑Remote‑Debugging‑Tipps
  • perf und kurzes eBPF‑Intro für Troubleshooting

Kursablauf

  • Part 1: 09:00–10:30
  • Break: 10:30–10:45
  • Part 2: 10:45–12:15
  • Lunch break: 12:15–13:15
  • Part 3: 13:15–15:15
  • Break: 15:15–15:30
  • Part 4: 15:30–17:30

Haben Sie an diesem Kurs teilgenommen?

Ihre Meinung ist uns sehr wichtig. Teilen Sie Ihre Erfahrungen mit uns und helfen Sie uns, diesen Kurs für zukünftige Teilnehmer weiter zu verbessern.

Feedback teilen

Möchten Sie mehr erfahren? Wir helfen Ihnen gern!

Oder schreiben Sie uns direkt an training@edocti.com.