Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Thomas Gleixner – linutronix Linux in Automation 2004 – Uni Hannover.

Ähnliche Präsentationen


Präsentation zum Thema: "Thomas Gleixner – linutronix Linux in Automation 2004 – Uni Hannover."—  Präsentation transkript:

1 Thomas Gleixner – linutronix Linux in Automation 2004 – Uni Hannover

2 Was ist das ? LInux Based Enhanced RealTime Operating System Modifikation des Linux-Kernels zur Erlangung der Echtzeitfähigkeit basierend auf dem KURT Projekt (Kansas University Realtime) unter der Leitung von Prof. Douglas Niehaus

3 Warum ? Performance Speicherbedarf Portierbarkeit Dual Kernel ist für viele User schwierig zu handhaben

4 Designvorgaben Quality of Service Instrumentierbarkeit Unterstützung für vernetzte Systeme Modularität Portierbarkeit

5 Quality of Service As fast as specified rather than as fast as possible Zitat Douglas Niehaus

6 Funktionalität Microsekunden Timer Instrumentierung für Kernel / Userspace Modularer Echtzeitscheduler Interrupthandling unter Schedulerkontrolle Userspace Realtime

7 µsec Timer Driftkompensation Synchronisation von vernetzen Systemen Schlanke Implementation auf reiner 32 bit Arithmetik Busyloops für kurze Delays entfallen

8 µsec Timer Voraussetzungen Frei laufender Timer oder Time Stamp Counter. Emulation des x86 TSC für 16 und 32 bit Timer One-shot programmierbarer Timer

9 Instrumentierung DSKI (Data Stream Kernel Interface) DSUI (Data Stream Userspace Interface) Alle relevanten Codeteile sind instrumentiert Eventaufzeichnung selektierbar Netzwerksupport für Embedded Systeme

10 Instrumentierung Eventspeicher wird in XML umgewandelt Python basierte Auswertung

11 RT - Scheduler Erweiterung der Linux Task Struktur. Dadurch Userspace Realtime zum Nulltarif RT-Scheduler entscheidet vor dem eigentlichen Linux-Scheduler Groupscheduling Modular ladbare Scheduling Algorithmen Watchdog Funktion

12 RT - Scheduler Schedule() RT-Scheduler Scheduler Modul Scheduler Modul Scheduler Modul RT ? Taskswitch Linux scheduler Ja Nein

13 Groupscheduling Bilden von Prozessgruppen Scheduling der Prozessgruppen Scheduling der Prozesse in den Gruppen

14 Groupscheduling Beispiel Timeslice P4, P5 P6, P7 P1, P2, P3 Group 1 Group 2 Group 3 P8, P9 EDF Priority RR

15 Groupscheduling Implementierte Algorithmen Priority Priority mit Quantum Early Deadline First Round Robin Explicit Plan Periodic

16 Groupscheduling System Decision Function (SDF) Scheduling von Systemereignissen Scheduling von Interrupthandlern Scheduling von Tasklets

17 Interrupthandling CLI/STI durch Softwareflag ersetzt Interrupts sind auf Hardwareebene fast immer enabled Support für Per IRQ locking Softwarepriorisierung von Interrupts Interrupts unter Schedulerkontrolle (SDF)

18 Interrupthandling IRQ Entry RT IRQ ? CLI ? RT context ? Notification NN N J J IRQ handler IRQ Exit Locked ? J Can run ? (SDF) N N J J

19 Interrupthandling IRQ1, IRQ5 IRQ11 RT IRQ Group Priority IRQ1, IRQ5 IRQ11 Linux IRQ Group EDF Bottom Halfs, Tasklets Linux SDF Group Sequential Interrupthandling im Scheduler (SDF)

20 Userspace Realtime Standard Userspace Programmierung Posix-Threads Realtime Verhalten kann innerhalb des Programms oder von aussen beinflusst werden Debugging von Realtime Anwendungen mit GDB Userspace Devicedriver Support

21 Userspace Realtime Standard IPC Mechanismen Signale Semaphoren Fifos Pipes Shared Memory

22 Userspace Realtime Restriktionen Blockierende Systemcalls (Disk-I/O)

23 Performance P3 1,4Ghz, 100% load

24 Performance P3 1,4Ghz, 100% load

25 Performance P3 1,4Ghz, 100% load

26 Performance P3 1,4Ghz, 100% load

27 Performance Maximum Signal propagation delay Celeron 333MHz (1) 100% Userspace load (2) 50% Userspace 50% System load (ping -f, serial communication Bd)

28 Portierbarkeit Es müssen nur der Timer und die Interrupt Entry Funktion portiert werden ARM7 ca. 120 Zeilen Code Zeilen Makros PPC405 ca. 200 Zeilen Code Zeilen Makros

29 Status (1) Nicht alle Derivate implementiert WIP = Work In Progress

30 Verwendung Telekommunikation (ATM-Switching) ACE/TAO wird von Chris Gill auf LibeRTOS betrieben. Hierbei ist vor allem die Integration der ACE Scheduling Funktionalität in die Groupscheduling Funktion von LibeRTOS ein vorrangiges Ziel. Video/Audio Streaming, HD-Recording Messtechnik, Datenerfassung / aufbereitung


Herunterladen ppt "Thomas Gleixner – linutronix Linux in Automation 2004 – Uni Hannover."

Ähnliche Präsentationen


Google-Anzeigen