Echtzeit mit nur einem Kernel

Benedikt Spranger

21C3 Berlin

Übersicht

Einführung in die Echtzeitwelt

Definition

Strategien

Hospital „St. Infaustus“

Hardware

„Dual-Kernel“

„In-Kernel“

Linux

RTAI

ADEOS

RTAI/Fusion

Libertos

Definition

Eine Aufgabe muß
bis zu einem spätestmöglichen Zeitpunkt (Deadline)abgearbeitet sein.

Quelle NASA

Mission Genesis

Strategien

Hardware

„Dual-Kernel“

„In-Kernel“

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Die „Hardware“-Lösung

Hospital „St. Infaustus“

Beispiel

Quelle Phoenix Contact

Exkurs Mikrokontroller

8051

C167

68HC08

ATmega

...

Quelle Phytec

Speicherprogramierbare Steuerungen (SPS)

Zyklische Struktur

Nur Timerinterrupt

Lineare Abarbeitung

Interrupt Service Routine (ISR)

Eingänge lesen

Prozessieren

Ausgänge setzen

Hospital „St. Infaustus“

Cris Runner

Hoch motiviert

Schnell

Hört auf seinen Chef

Jo Cool

Hoch motiviert

Schnell

Flirtet gerne mit Schwester „Susi“ aus der Inneren

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Der „Dual-Kernel“ Ansatz

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Hospital „St. Infaustus“

Der „In-Kernel“ Ansatz

Hospital „St. Infaustus“

Interrupts

Probleme:

„Race Conditions“

Laufzeitverhalten

„Priority Inversion“

Strategien:

Semaphoren und Mutexe

Instrumentierung

„Preemption“

M68k Interrupt Schema

7 Interrupt Level

Jede ISR wird mit Ihrem Interrupt Level ausgeführt

Jede ISR kann nur durch einen höherprioren Interrupt unterbrochen werden

Echtzeiterweiterungen unter Linux

„Dual-Kernel“

RTLinux

TimeSys

LynxOS (Sysgo)

RTAI (LXRT)

ADEOS

„In-Kernel“

KURT/LibeRTOS

RTAI Fusion

RTAI Allgemein

Entwickelt in der Arbeitsgruppe von
Prof. Paolo Mantegazza (DIAPM)

Enstanden aus einer DOS-Echtzeiterweiterung

„Dual-Kernel“

RTAI Aufbau

Adaptive Domain Environment for Operating Systems (Adeos)

ADEOS Interrupt Management

RTAI/Fusion

Echtzeit im Userspace

Problem:

LXRT ist ein Hack

„Dual-Kernel“ exponentiert die Probleme bei komplexen Modulen

Lösung: „In-Kernel“ Lösung

Integration von ADEOS

Xenomai als Scheduler (GPL)

Ingo Molnar's RT-Patche

„Preemption“

„echte“ Mutexe

„Interrupt to thread conversion“

LibeRTOS

Linux based enhanced

Real Time Operating System

Erweiterung des Linuxkernels

um Echtzeitfähigkeit

Designvorgaben

QoS

Instrumentierbarkeit

Netzwerkunterstützung

Modularität

Portierbarkeit

QoS

„As fast as specified

rather than

as fast as possible“

Douglas Niehaus

Funktionalität

µs Timer

Instrumentierung für Kernel / Userspace

Modularer Echtzeit Scheduler

Interrupthandling unter Schedulerkontrolle

RT Scheduler

IRQ Handling

Echtzeit mit nur einem Kernel

Noch Fragen Kienzle?

b.spranger@tu-bs.de

Benedikt Spranger

2004-12-25T21:33:35