Systemprogrammierung
Termine:
- 08. - 10. März 2021
- 11. - 13. Oktober 2021
Voraussetzungen:
Der Inhalte des Seminars „Grundlagen/Einführung" werden vorausgesetzt.
Insbesondere sind der sichere Umgang in der Linux-Shell sowie gute Kenntnisse in der C-Programmierung unter Linux erforderlich.
Buchungsmöglichkeiten:
Dieses Seminar kann auch in Kombination mit den Seminaren „Realtime", „Embedded Linux" oder „Yocto" gebucht werden.
Agenda:
Tag 1: Systemprogrammierung: 10.00 - 18.00 Uhr (Referent A. Klinger)
- Dateioperationen, Pipes, FIFO
- Generierung von Prozessen und Threads, Statusabfragen, Zombies
- GPIO-Zugriff mittels ioctl()
- Übung: Kindprozess für Hardwareansteuerung (GPIO's) erstellen
- Scheduling-Klassen (Deadline-, Realtime-, Batch- und Idle-Tasks)
- Interprozesskommunikation: Shared-Memory, Semaphore, Message Queue
- Multithreading mit pthread-Library
- Prioritätsvererbende Mutexe (PI-Mutex)
- Übung: Kommunikation mit Kindprozess mittels Shared Memory und PI-Mutex
- Systemaufrufe überwachen (strace, ltrace)
- Signal-Handling, Reaktion auf unerwartete Signale (SEGV, backtrace)
- Core-Dump generieren und auswerten
- Übung: Hardware-Zugriff auf I2C-Device
Änderungen am Programm vorbehalten.