Linux wird echtzeitfähig: RT-Extension vs. PREEMPT_RT



Ähnliche Dokumente
Linux und Echtzeit Jan Altenberg Linutronix GmbH Jan Altenberg Linutronix GmbH

LINUX und Echtzeit. Eine Übersicht prinzipieller Lösungsansätze. Your partner for industrial, embedded Linux

Konzepte zur Steigerung der Preemptivität des Linux Kernels 2.6

Jens Peter Lindemann Lehrstuhl Neurobiologie. 13. Januar 2009

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

,,Echtzeit ist ein Buzzword und sagt gerade bei Nichtrealtime-Betriebssystemen garnichts aus. (Thomas Ogrisegg in at.linux) Linux PREEMPT RT

RealTime Linux. Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Embedded Linux. Embedded Linux. Daniel Buchheim Seminar "Eingebettete drahtlose Systeme"

Windows CE. Process Control and Robotics. Fabian Garagnon

(Prüfungs-)Aufgaben zum Thema Scheduling

Der Scheduler von Windows 2000 Konzepte und Strategien

Latency Scenarios of Bridged Networks

Empirische Bestimmung der Echtzeitfähigkeit von Linux-Systemen

Linux in der Automatisierung

Tuning des Weblogic /Oracle Fusion Middleware 11g. Jan-Peter Timmermann Principal Consultant PITSS

Echtzeitanforderung und Linux

Informationen zur Oracle DB SE2

Linux RT-Preempt Echtzeitkenngrößen ermitteln und testen. Embedded Testing 2017 Thomas Maierhofer Consulting

Der Scheduler von Windows Konzepte und Strategien

Embedded OS für ARM Cortex Microcontroller

Hinweisblatt. Für den Einsatz des MAX! Heizungssteuerungssystems haben Sie zwei Alternativen: Die MAX! Einzelraumlösung und die MAX! Hauslösung.

Linux mit harter Echtzeit durch Preempt-RT zum Messen und Steuern

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

Motion Controller 2 - MC2

Climate change and availability of water resources for Lima

Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Data Mining and Data Analysis using the Example of cross-border Traffic Management during Extreme Weather Events

Matthias Schorer 14 Mai 2013

Meine SPS kann Linux, und nun?

GR5W. General Certificate of Education June 2007 Advanced Level Examination. Unit 5 The Cultural and Social Landscape in Focus. Time allowed: 2 hours

Betriebssysteme und Microkern

SIMATIC Industrie-PC IPC477D PRO Produktinformation

1.5 Betriebssysteme für RT- Anwendungen: Echtzeitbetriebssysteme

Embedded Linux Automatisierung für die Zukunft

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Bedienungsanleitung User Manual. PCMCIA Reader B1

Open Source Automation Development Lab (OSADL) eg

Betriebssysteme SS 2009 VO (2) [+ PR (2) + TU (2)]

Big Data Analytics. Fifth Munich Data Protection Day, March 23, Dr. Stefan Krätschmer, Data Privacy Officer, Europe, IBM

Betriebssysteme KU - Einführungstutorium

Praktikum Entwicklung Mediensysteme (für Master)

JTAGMaps Quick Installation Guide

Harte Echtzeit unter Linux Fallstudie RTAI vs. RT-Preempt

Projektseminar Mobilkommunikation Projektseminar MIKS

TSM 5.2 Experiences Lothar Wollschläger Zentralinstitut für Angewandte Mathematik Forschungszentrum Jülich

Übersicht der 10 relevanten Realtime Betriebssysteme. Urs Böhm/31.August 2010

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1

Android APP NVR Viewer

Open Source Open Mind Way of Life

Englisch-Grundwortschatz

GR5W. General Certificate of Education June 2008 Advanced Level Examination. Unit 5 The Cultural and Social Landscape in Focus. Time allowed: 2 hours

USB -> Seriell Adapterkabel Benutzerhandbuch

LabVIEW Real Time Hands on

p^db=`oj===pìééçêíáåñçêã~íáçå=

Cluster Operating Systems

2. Der ParaNut-Prozessor "Parallel and more than just another CPU core"

Bedienungsanleitung / Manual für il-debug_i Interface für den Debugger il_debug

Betriebssysteme Kapitel E : Prozesse

Brandbook. How to use our logo, our icon and the QR-Codes Wie verwendet Sie unser Logo, Icon und die QR-Codes. Version 1.0.1

Ist die Standard Edition noch einsetzbar? Dierk Lenz DOAG 2015 Konferenz

prorm Budget Planning promx GmbH Nordring Nuremberg

Routing in WSN Exercise

Cnlab/CSI Herbsttagung Apps und Sandboxen

LINUX 4 AIX Ein Überblick AIX 2 LINUX Webcast

Systemstruktur und Echtzeitverhalten - Analyse und Vergleich von Windows CE 5.00 und von Erik Merkel

Die Bibel nach Martin Luther (1984) - Leseausgabe: revidierte Fassung von 1984 mit Apokryphen (German Edition)

Star Trek: die Serien, die Filme, die Darsteller: Interessante Infod, zusammengestellt aus Wikipedia-Seiten (German Edition)

COMPUTER: Mission Berlin. August 13, 1961, six ten pm. You've only got 45 minutes left to save Germany.

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016

Software development with continuous integration

The Future Internet in Germany and Europe

Quick Guide Home Network Mode

AC500 Application Example Scalable PLC for Individual Automation Frequency Counter AC500-eCo

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Organisatorisches. Kurs-Inhalt:

Titelbild1 ANSYS. Customer Portal LogIn

GR5W. General Certificate of Education June 2006 Advanced Level Examination. Unit 5 The Cultural and Social Landscape in Focus. Time allowed: 2 hours

Threads and Scheduling

RTEMS- Echtzeitbetriebssystem

Transkript:

Linux wird echtzeitfähig: RT-Extension vs. PREEMPT_RT Carsten Emde Open Source Automation Development Lab (OSADL) eg

Zitat aus dem Jahre 2004, unbekannte Quelle It's impossible to turn a General Purpose Operating System (GPOS) Kernel into a Real Time Operating System (RTOS) Kernel

Was ist eine Real Time Extension? Echtzeitfähige Kernel- Infrastruktur Echtzeitprogramme im Kernel RT- API Echtzeitpflichtige Applikation 1 Echtzeitpflichtige Applikation 2 Echtzeitpflichtige Applikation N I/O Hardware Interrupts Hardware- Abstraktions- Schicht bzw. Nanokernel Nicht-echtzeitfähige Kernel- Infrastruktur Kernel Linux- API Nicht echtzeitpflichtige Applikation 1 Nicht echtzeitpflichtige Applikation 2 Nicht echtzeitpflichtige Applikation N Userspace

Was ist ein Real Time Operating System? I/O Hardware Interrupts Hardware- Abstraktionsschicht Echtzeitfähige Kernel- Infrastruktur Linux API Echtzeitpflichtige Applikation 1 Echtzeitpflichtige Applikation 2 Echtzeitpflichtige Applikation N Kernel Userspace

Treibende Kräfte für Echtzeit-Linux SMP (Auffinden von Race-Conditions) Audio Video Banking Automation

Autoren von Echtzeit-Linux Doug Niehaus, University of Kansas Thomas Gleixner, Linutronix Ingo Molnàr, Red Hat Peter Zijlstra, Red Hat Paul E. McKenney, IBM Steven Rostedt, Red Hat viele andere

Komponenten von Echtzeit-Linux Deterministic Scheduler Preemption Support PI Mutexes High-Resolution Timer Preemptive Read-Copy Update IRQ Threads (selected, forced) Raw Spinlock Annotation Preemptive Memory Management Full Realtime Preemption Support

Kernel-Summit, Ottawa, August 2006 "Controlling a laser with Linux is crazy, but everyone in this room is crazy in his own way. So if you want to use Linux to control an industrial welding laser, I have no problem with your using PREEMPT_RT." Linus Torvalds

Kernel-Konfiguration

Latenz-Messung (1) cyclictest Master-Prozess T 1 T 2 T N cyclictest Mess.-Thread cyclictest Mess.-Thread cyclictest Mess.-Thread

Latenz-Messung (2) High-resolution timer Run on CPU #0 Start one thread Priority 99 Interval 100 μs # cyclictest -n -a0 -t1 -p99 -i100 T: 0 (26623) P:99 I:100 C:2244063 Min: 2 Act: 5 Avg: 4 Max: 27 Process ID Cycles Worst-case latency in μs

Latenz-Messung (3) High-resolution timer Run on CPU #0 Start 12 threads Priority 99, 98, 97,... 88 Interval 100 μs No delay # cyclictest -n -a0 -t12 -p99 -i100 -d0 T: 0 ( 2910) P:99 I:100 C:3217008 Min: 2 Act: 6 Avg: 4 Max: 32 T: 1 ( 2911) P:98 I:100 C:3217008 Min: 1 Act: 4 Avg: 3 Max: 59 T: 2 ( 2912) P:97 I:100 C:3217007 Min: 2 Act: 4 Avg: 3 Max: 47 T: 3 ( 2913) P:96 I:100 C:3217007 Min: 2 Act: 11 Avg: 3 Max: 53 T: 4 ( 2914) P:95 I:100 C:3217007 Min: 2 Act: 9 Avg: 4 Max: 53 T: 5 ( 2915) P:94 I:100 C:3217007 Min: 3 Act: 9 Avg: 7 Max: 89 T: 6 ( 2916) P:93 I:100 C:3217007 Min: 2 Act: 5 Avg: 4 Max: 85 T: 7 ( 2917) P:92 I:100 C:3217006 Min: 2 Act: 10 Avg: 5 Max: 119 T: 8 ( 2918) P:91 I:100 C:3217006 Min: 2 Act: 13 Avg: 9 Max: 148 T: 9 ( 2919) P:90 I:100 C:3217007 Min: 1 Act: 4 Avg: 4 Max: 178 T:10 ( 2920) P:89 I:100 C:3217006 Min: 1 Act: 4 Avg: 3 Max: 1413 T:11 ( 2921) P:88 I:100 C:3217006 Min: 3 Act: 7 Avg: 10 Max: 27331

Latenz-Messung (4) High-resolution timer Run on all CPUs Start 12 threads Priority 99, 98, 97,... 88 Interval 100 μs No delay # cyclictest -n -a -t12 -p99 -i100 -d0 T: 0 (11009) P:99 I:100 C:3748311 Min: 2 Act: 3 Avg: 4 Max: 28 T: 1 (11010) P:98 I:100 C:3748311 Min: 2 Act: 2 Avg: 4 Max: 27 T: 2 (11011) P:97 I:100 C:3748311 Min: 2 Act: 10 Avg: 4 Max: 31 T: 3 (11012) P:96 I:100 C:3748310 Min: 2 Act: 3 Avg: 3 Max: 14 T: 4 (11013) P:95 I:100 C:3748310 Min: 2 Act: 3 Avg: 4 Max: 40 T: 5 (11014) P:94 I:100 C:3748310 Min: 2 Act: 3 Avg: 5 Max: 29 T: 6 (11015) P:93 I:100 C:3748310 Min: 2 Act: 3 Avg: 4 Max: 28 T: 7 (11016) P:92 I:100 C:3748310 Min: 2 Act: 3 Avg: 4 Max: 20 T: 8 (11017) P:91 I:100 C:3748309 Min: 2 Act: 7 Avg: 4 Max: 32 T: 9 (11018) P:90 I:100 C:3748308 Min: 2 Act: 6 Avg: 4 Max: 27 T:10 (11019) P:89 I:100 C:3748309 Min: 2 Act: 3 Avg: 4 Max: 24 T:11 (11020) P:88 I:100 C:3748309 Min: 2 Act: 2 Avg: 5 Max: 46

Latenz-Messung (5) High-resolution timer Run on all CPUs Start 12 threads Priority 99 of all threads Interval 100 μs No delay # cyclictest -S -p99 -i100 -d0 T: 0 (15350) P:99 I:100 C:3839755 Min: 2 Act: 6 Avg: 3 Max: 24 T: 1 (15351) P:99 I:100 C:3839755 Min: 2 Act: 7 Avg: 4 Max: 19 T: 2 (15352) P:99 I:100 C:3839755 Min: 2 Act: 8 Avg: 4 Max: 27 T: 3 (15353) P:99 I:100 C:3839755 Min: 2 Act: 5 Avg: 4 Max: 24 T: 4 (15354) P:99 I:100 C:3839755 Min: 2 Act: 5 Avg: 3 Max: 20 T: 5 (15355) P:99 I:100 C:3839755 Min: 2 Act: 5 Avg: 5 Max: 52 T: 6 (15356) P:99 I:100 C:3839755 Min: 2 Act: 5 Avg: 4 Max: 20 T: 7 (15357) P:99 I:100 C:3839755 Min: 2 Act: 5 Avg: 3 Max: 17 T: 8 (15358) P:99 I:100 C:3839755 Min: 2 Act: 10 Avg: 4 Max: 28 T: 9 (15359) P:99 I:100 C:3839754 Min: 2 Act: 5 Avg: 4 Max: 22 T:10 (15360) P:99 I:100 C:3839755 Min: 2 Act: 5 Avg: 4 Max: 42 T:11 (15361) P:99 I:100 C:3839755 Min: 2 Act: 5 Avg: 5 Max: 34

Zusammenfassung (1) Es ist tatsächlich möglich, ein ursprünglich als General Purpose Operating System (GPOS) geplantes und entwickeltes Betriebssystem nachträglich in ein Real Time Operating System (RTOS) umzuwandeln.

Zusammenfassung (2) Dabei ist es sogar gelungen, alle Eigenschaften des GPOS zu erhalten und entsprechende Echtzeitfähigkeit herzustellen. Die Parametrisierung aus dem Userspace erfolgt ausschließlich über die Standard-POSIX-Schnittstelle.