Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Realtime Linux

Linux Install Party WiSe 06/07

Manuel Traut

Angewandte Informatik Hochschule Ravensburg-Weingarten

20. November 2006

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Übersicht

1 Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

2 Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

3 Anwendungen

Audiotechnik Industrie Realtime CORBA

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

1 Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

2 Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

3 Anwendungen

Audiotechnik Industrie Realtime CORBA

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Definitionen

Begriffe Latenz: Dauer zwischen Aktion (Tastendruck) und Reaktion (Darstellung des Zeichens) Deadline: Zeitpunkt zu dem Ergebnis benötigt wird = T_{start} + D_{max}

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Was ist Realtime?

harte Echtzeit Deadline darf nie überschritten werden. weiche Echtzeit

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Anwendungsbeispiele

für getaktete Aufgaben (harte Echtzeit)

Anwendungen mit garantierten Antwortzeiten (harte Echtzeit) Spiele, Desktop (weiche Echtzeit)

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Bedingungen

Zuordnung von Prioritäten zu Aufgaben priority inversion nieder priore Aufgabe blockiert höher Priore (z.B. Mutexe) resource allocation Resourcen müßen reserviert werden, Zugriffszeiten garantieren

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

1 Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

2 Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

3 Anwendungen

Audiotechnik Industrie Realtime CORBA

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Kernel- vs. User-Space

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Multitasking

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Scheduling

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Priorisierung

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Interrupts

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

IRQ Mapping

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Schwachstellen

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

1 Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

2 Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

3 Anwendungen

Audiotechnik Industrie Realtime CORBA

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Anwendungsfälle

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

JACK

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Synthese

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Recording

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Effektplugins

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Entwicklungen

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Problematik

TRUMPF-Laser Laserlichtquelle Optiken Lichtwellenleiterkabel 4000 Sensoren bis zu mehreren kW Laserlicht TLN^{TM} TRUMPF Laser Networks

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Anforderungen

Überwachen von Sensoren

Zuweisen von Laserlicht in Echtzeit Sicherheit hat höchste Priorität

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Steuerung

benutzte Technologien Linux Kernel 2.6.18 rt-preemption .NET Oberfläche mit dotgnu mySQL OPC^{a} Schnittstelle Interbus Schnittstelle Fernwartung

aOLE for Process Control

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

CPX - Central Processor eXtendable

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Bedienung

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Buchstabeneingabe

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

CORBA - Funktionsweise

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

CORBA - Komponenten

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

CORBA - NamingService

Server NamingService finden Objektreferenz mit Name beim NS melden

Client NamingService finden Objektreferenz anhand Name beim NS erfragen Objektzugriff über Objektreferenz

Realtime Linux Manuel Traut Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

CORBA - EventService

Server Zugriff über NamingService Message mit Typ und Sender ID an EventService senden

Client Zugriff über NamingService anmelden bei EventService (Policies definieren Zustellart der Nachrichten) Kann beim EventService Filterregeln hinterlegen

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

RTCORBA Komponenten

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

TAO - Architektur

Plattformunabhängige RTCORBA Implementation von Doug Smith:

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

TAO - RT Scheduling

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Versuche: Ende zu Ende Latenz messen

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Lastsimulation

Festplattenlast

xdd

Netzwerklast

auf niedriger priorisierte Ethernetports via flood ping

CPU Last cpuburnP5

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Prozessabbild übertragen

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Datenfluss

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Ergebnis

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

TAO - RTEventService

Realtime Linux

Manuel Traut

Realtime

Was ist Realtime? Für was benötigt man Realtime? Wie kann Realtime sichergestellt werden?

Realtime Linux

Kernelintegration Scheduling IRQ Abbildung TODO

Anwendungen

Audiotechnik Industrie Realtime CORBA

Ergebnis