Informationen zur Technologie

Linux oder GNU/Linux ist ein freies, unix-ähnliches Mehrbenutzer-Betriebssystem, das als Open Source-Projekt ins Leben gerufen wurde. Es basiert auf dem Linux-Kernel und wesentlich auf GNU-Software. Dieser Systemkern (Kernel) ist die Schnittstelle zwischen Hard- und Software, das Anwenderprogrammen den Komponentenzugriff auf Speicher, Festplatte, Tastatur und Maus, Druckerschnittstellen etc. ermöglicht und ist eine zuverlässige Plattform für eine Vielzahl von Anwendungen.


Linux Treiber und RT - Architektur des Linux Kernels, Treiber und Echtzeit Entwicklung - Schulung (5 Tage)

Linux Drivers and RT - Architecture of the Linux Kernel, Drivers and Real-time Development

Kurzbeschreibung

Wenn die von Linux im Userspace bereitgestellten Mechanismen in Form der System-API nicht ausreichen und höhere Anforderungen hinsichtlich Timing und Reaktionsverhalten gestellt werden oder der Zugriff auf Hardware-Ressourcen notwendig ist, dann gibt es nur eines: In den Linux-Kernel eintauchen und selber Kernel-Treiber erstellen.
Das dazu notwendige Know-how, insbesondere der im Kernel vorhandenen Mechanismen,sowie deren Zusammenspiel wird in diesem Kurs vermittelt. Nach Abschluss des Kurses sind Sie in der Lage echtzeitfähige Kernel-Treiber zu schreiben, sowie die vom Kernel angebotenen Mechanismen effektiv einzusetzen. In diesem Kurs lernen Sie, aus welchen Komponenten ein Echtzeit-Linux-System besteht, wie die Anforderungen an ein Echtzeit-Betriebssystem erfüllt werden und wie ein an das Projekt angepasstes System erstellt wird. Der Kursinhalt bezieht sich auf den Mainstream-Linux-Kernel sowie auf den RT-Preemption-Patch. Die Übungsaufgaben werden auf dem Schulungs-Notebook durchgeführt.Fortgeschrittenen Teilnehmer mit Erfahrungen in Embedded-Linux bieten wir die Möglichkeit die Übungen auf einem ARM-basierten Embedded-Board zu machen. Entsprechende Boards, sowie die Cross-Development-Toolchain werden zur Verfügung gestellt.


Voraussetzungen

• Kenntnisse in Linux-Systemprogrammierung
• fundiertes Wissen in der Programmiersprache C wird vorausgesetzt


Seminarinhalt

Gerätetreiber
• virtuelles Filesystem (VFS)
• System-Call-Schnittstelle
• Character-, Block- und Net-Devices, Dateisystem-Treiber
• Aufbau und Funktionsweise von Kernel-Treibern, Datei-Schnittstelle und Device-Nodes
• Kernel-Module, Modul-Parametrisierung

Scheduling
• Scheduling-Klassen: Round-Robin-Verfahren des CFS, RT-Tasks, Batch- und Idle-Tasks
• Task-Varianten: Thread, Kernel-Thread, Workqueue
• SoftIRQ's: Kernel-Timer, Tasklet, Net-Send, Net-Receive
• Synchronisierungsmechanismen: Spin-Lock, Mutex

Speicher-Verwaltung
• virtueller, logischer und physikalischer Adressraum
• Memory-Management-Unit (MMU), Speicherschutzkonzept, Segmentations-Faults
• Allozierung von Kernel-Speicher, atomare Operationen
• Datenaustausch zwischen Userspace und Kernel, Memory-Mapping

Zugriff auf Hardware
• IO-Ports und IO-Memory
• Interrupts, Sekundärreaktionen auf Interrupts
• Subsysteme: USB, PCI

Weiche Echtzeit mit dem Standard-Kernel
• harte und weiche Echtzeitanforderungen; Kriterien für Echtzeitfähigkeit
• Scheduling und Preemption; RT-Tasks, Batch-Tasks, Interrupts und SoftIRQ's
• Synchronisierungsmechanismen: Mutex, Spin-Lock
• Performance-Tuning: CPU-Affinitäten, Kernel-Socket-Server, Memory-Mapping
• Prioritätsinversion, Preemption- und Interrupt-Disabling

Hochauflösende Timer in Linux (hrtimer)
• klassische Linux-Timer; periodische synchrone Timer-Ticks
• hrtimer-Framework, Architektur und Funktionsweise
• Anwendung in Systemfunktionen; Posix-Intervall-Timer; Sleep-Funktionen
• Verwendung in Kernel-Treibern

harte Echtzeit mit dem RT-Preemption-Patch
• virtualisierte Interrupts und SoftIRQ's
• echtzeitfähige Synchronisierung: RT-Mutex, Futex, RCU
• Echtzeit-Tasks im User- und/oder Kernel-Space
• Posix-Threads, Kernel-Threads
• Konfiguration und Installation
• Tracing-Framework (ftrace), Timing-Analyse, Latenzzeiten
• Bewertung des Echtzeitverhaltens; Messergebnisse aus Anwendungen
• Alternative Open-Source-Echtzeit-Varianten zum Vergleich: RTAI und Xenomai


Zielgruppen

• Programmierer / Entwickler
• System-Designer


Preise und Termine

offene Schulung
Eine offene Schulung findet in einem unserer Schulungszentren statt.
Dauer:5 Tage
Preis:2.572,00 € zzgl. USt. pro Teilnehmer (3.060,68€ inkl. USt.)
Seminarstandorte:
Starttermine:
(ortsabhängig)


Unterlagen:zzgl.
Verpflegung:zzgl.
Prüfung/Zertifizierung:zzgl.
Firmenschulung
Eine Firmenschlung kann sowohl bei Ihnen vor Ort als auch in einem unserer Schulungszentren stattfinden.
Dauer:5 Tage
Preis ab:1.490,00 € zzgl. USt. pro Tag (1.773,10€ inkl. USt.)
Schulungszentren:
  • Hamburg
  • Berlin
  • Frankfurt
  • München
  • Nürnberg
  • Düsseldorf
  • Wien
  • Stuttgart
  • Hannover
  • Köln
  • Dortmund
Starttermin:individuelle Vereinbarung
Unterlagen:zzgl.
Verpflegung:zzgl.
Prüfung/Zertifizierung:zzgl.

Software

Linux


Seminarsprache

Wir bieten unsere Seminare hauptsächlich in deutscher Sprache an – je nach Wunsch aber gerne auch in Englisch oder einer anderen Seminarsprache. Bitte fragen Sie doch einfach bei uns an.