Linux im harten Echtzeiteinsatz



Ähnliche Dokumente
RTAI: Linux im harten Echtzeiteinsatz. Robert Baumgartl Technische Universität Chemnitz Juniorprofessur Echtzeitsysteme

Echtzeit mit Linux. Erweiterungen und deren Anwendung. Martin Krohn. 2. Februar 2006

Albert Dengg. Graz,

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Seminar: Mobile Geräte QNX Einführung

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

VO Projektmanagement

Wir machen neue Politik für Baden-Württemberg

Meine SPS kann Linux, und nun?

Dokumentation Schedulingverfahren

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Human-Computer-Interaction und Psychologie Aufgaben- und Kontextanalyse

OPEN SOURCE SOFTWARE

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Echtzeitscheduling (1)

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

Oxygen Series. Deutsch. Quick-Start-Anleitung

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

PDF-Druck und PDF-Versand mit repdoc Werkstattsoftware

WinVetpro im Betriebsmodus Laptop

OSADL begrüßt seine neuen Mitglieder. Pressekonferenz am 22. April Hannover Messe, Robotation Academy

Windows CE. Process Control and Robotics. Fabian Garagnon

ein Versandsystem das immer passt HVS32 Monitoring

PDF-Druck und PDF-Versand mit PV:MANAGER

euz Zusammenführung der Anwendungen Ursprungszeugnis IHK Gesellschaft für Informationsverarbeitung mbh Hörder Hafenstr Dortmund Version 1.

Softfolio xrm Preisliste 02/2016 für Neukunden. Gültig ab

Softwarelösungen: Versuch 4

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Referenz-Konfiguration für IP Office Server. IP Office 8.1

RTEMS- Echtzeitbetriebssystem

1 topologisches Sortieren

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

Fragen und Antworten. Kabel Internet

Military Air Systems

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

CarMedia. Bedienungsanleitung Instruction manual. AC-Services Albert-Schweitzer-Str Hockenheim

Lizenz-Server überwachen

AbaWeb Treuhand. Hüsser Gmür + Partner AG 30. Oktober 2008

Echtzeit - Linux. Dipl.-Inform. Stefan Riesner. G. Schrott WS03/04 Echtzeitsysteme Kap. 9a 1

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Webseiten mit fragwürdigen Aufrufen von "spy & track" - Unternehmen

Installation OMNIKEY 3121 USB

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

ROFIN App Benutzerhandbuch. Version 1.0

TechTipp. Bildbearbeitung mit Lookup-Tabellen (LUT): Machen Sie das (fast) Unsichtbare sichtbar. Hintergrund

Zulassung nach MID (Measurement Instruments Directive)

Anwendungsbeispiele Sign Live! Secure Mail Gateway

Bei der Tagung werden die Aspekte der DLRL aus verschiedenen Perspektiven dargestellt. Ich habe mich für die Betrachtung der Chancen entschieden,

Netbooks in der (Linux)-Praxis

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

4 Ideen zur Verbesserung des -Marketings!

Jahresupdate Version 8.0. Anwendungsbeschreibung. Verbesserungen

Stand: Adressnummern ändern Modulbeschreibung

IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

A Kompilieren des Kernels B Lineare Listen in Linux C Glossar Interessante WWW-Adressen Literaturverzeichnis...

Windows 8 Lizenzierung in Szenarien

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Informatik, Mathematik und Naturwissenschaften

Protected User-Level DMA in SCI Shared Memory Umgebungen

Diese CD ersetzt die ursprünglich auf der RAVE-CD enthaltenen Repair Operation Times (ROTs) und die auf der KSD-CD enthaltenen Fehlercodes.

MetaQuotes Empfehlungen zum Gebrauch von

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Embedded Linux, OpenWRT

OSEK Deadline-Analyse

IBM SPSS Statistics Version 23. Einführung in Installation und Lizenzierung

Statuten in leichter Sprache

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG

Installation der SAS Foundation Software auf Windows

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Nikon Message Center

Softwarelizenzen und Open Source

EIDAMO Webshop-Lösung - White Paper

Office Synchronizer. Versionshinweise. Version 1.66

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

eridea AG Installation Eclipse V 1.4

Prof. Dr. Norbert Pohlmann, Institut für Internet Sicherheit - if(is), Fachhochschule Gelsenkirchen. Lage der IT-Sicherheit im Mittelstand

Laborübung - Task-Manager (Verwalten von Prozessen) in Windows 7

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Soft Migration Angelika Gößler

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Terminabgleich mit Mobiltelefonen

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

LibreOffice vs. Apache OpenOffice technische, organisatorische und rechtliche Unterschiede

Performance Messungen von FreeRTOS und

HighTecBot: Ein Roboter-Baukastensystem zur Unterstützung der Informatik-Lehre an Hochschulen. Prof. Dr. Martina Lehser Embedded Robotics Lab

INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Checkliste. zur Gesprächsvorbereitung Mitarbeitergespräch. Aktivität / Frage Handlungsbedarf erledigt

Gegenüberstellung möglicher Virtualisierungstechnologien auf Linuxbasis. Virtualisierung kurz angerissen

Business Application Framework für SharePoint Der Kern aller PSC-Lösungen

sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit

Transkript:

Linux im harten einsatz Robert Baumgartl TU Chemnitz JP systeme 06. 03. 2005 c Robert Baumgartl, 2005 1 Systeme

Überblick Der Vortrag diskutiert einführend RTAI, das Real-Time Application Interface für Linux, sowohl aus Anwender- als auch Systemsicht. Dabei stehen folgende Aspekte im Vordergrund: Einführung: begriff, Härtegrade, POSIX.1b Konzept: Virtualisierung der Interrupt-Hardware Überblick über das API Einführung in die Programmierung von RTAI-gestützten Applikationen IPC zu non-rt-applikationen Alternativen: RTLinux, Microkernel,... Einschätzung und Ausblick c Robert Baumgartl, 2005 2 Systeme

Was ist? DIN 44300: betrieb ist ein Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind derart, daß die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Sowohl die Korrektheit, als auch die Dauer der Ermittlung der Ergebnisse wird garantiert. Die Härte eines systems Weiches EZ-System: Verletzung einer Deadline führt zum Absinken des Wertes des Ergebnisses, Einfluß auf die Güte des Dienstes, Systemleistung sinkt mit der Anzahl verletzter Deadlines. Hartes EZ-System: Verletzung einer Deadline hat katastrophale Konsequenzen für das System bzw. die Umwelt. c Robert Baumgartl, 2005 3 Systeme

Weiche ist leicht: POSIX.1b Funktionen für die programmierung ; Beispiele: Scheduler: sched_setscheduler() Timer: timer_create() Locken von Speicherseiten: mlock() signale... Reines Linux und Harte systeme Garantie von Ausführungszeiten problematisch, weil kein Zugriff auf Interrupts (Treiber erforderlich) andere Prozesse könnten Ressourcen stehlen (CPU, Hauptspeicher) Aktivitäten des Kerns nicht vorhersehbar Lösung: modifizierter Kern, d.h., RTAI oder RTLinux c Robert Baumgartl, 2005 4 Systeme

Grundprinzipien Virtualisierung der Interrupt-Hardware: Interrupts werden durch HAL in Nachrichten umgesetzt, die zielgerichtet zugestellt werden Linux-System (Kern und Nutzerprozesse) ist eine RT-Task mit niedrigster Priorität alle RTAI-Komponenten (HAL, Module, Applikationen) sowie der Linux-Kern im Kernel-Mode abgearbeitet + Modul-Schnittstelle des Kerns nutzbar + keine Adreßraumwechsel zwischen RT-Applikationen ( keine TLB-Flushes, kein Paging) + gesamtes System modular aufgebaut + direkter Zugriff auf Hardware (da im Ring 0 ausgeführt) Sicherheit? Schnittstelle zum Linux-Kern für zeitunkritische Aktionen c Robert Baumgartl, 2005 5 Systeme

RT FIFO... Prozeß 2 Prozeß 1 RT Task 1 RT Task 2... Linux RTAI: HAL, Scheduler Hardware Nachrichten Interrupts Abbildung 1: Struktur eines RT-Linux-Systems c Robert Baumgartl, 2005 6 Systeme

Virtualisierung der Interrupts RT-Applikationen können sich für Interrupts registrieren (rt_request_global_irq()) bei Eintreffen eines Interrupts in RT-HAL: für RT-Applikation: Zustellung des Interrupts an beanspruchende RT-Applikation (Aufruf des installierten Handlers) ansonsten: Zustellung an Linux-Kern (wenn dieser Interrupts temporär verboten Warteschlange) cli- und sti-operationen des Linux-Kerns werden nicht mehr auf der Hardware durchgesetzt, sondern betreffen nur das Linux-Subsystem Möglichkeit, dem Linux-Subsystem eigene Interrupt-Handler unterzuschieben c Robert Baumgartl, 2005 7 Systeme

Installation 1. Standard-Kern-Quellen und RTAI-Quellen herunterladen, installieren 2. Kern patchen (rtai-core/arch/$arch/patches/) entweder (legacy) RT-HAL oder ADEOS 3. Kern übersetzen, installieren 4. RTAI konfigurieren: make {x g menu}config 5. RTAI übersetzen, installieren: make install IMHO problemlos SW-Voraussetzungen: Qt oder GTK für config-tool (nicht zwingend), Doxygen für Dokumentation Crossentwicklung über Variablen ARCH und CROSS_COMPILE c Robert Baumgartl, 2005 8 Systeme

Applikationsschnittstelle Sammlung von (momentan) 21 Kernelmodulen, Core Module: rtai.o RT-Scheduler: rtai_sched.o präemptiv feste Prioritäten verschiedene Implementierungsvarianten (UP, SMP) Message Passing RT-FIFOs: rtai_fifo.o Shared Memory: rtai_shm.o... aktuelle Referenz: http://lumumba.luc.ac.be/takis/projects/rtai-3.2/api/ c Robert Baumgartl, 2005 9 Systeme

Eine einfache -Applikation Programmierung wie ein Kernmodul (gcc-switches: -D KERNEL -DMODULE) vorgeschriebene Funktionen: init_module(), cleanup_module() Wir sind im Kerneladreßraum defensiv programmieren! Vorsicht: Linux-Subsystem hat kleinste Priorität entweder definiertes Ende aller Tasks, oder ausreichend Luft für Linux lassen (periodisches Abarbeitungsmodell) insmod aller benötigten RTAI-Module, danach der RT-Applikationen init_module() Timer kreieren, starten IPC-Ressourcen anfordern Task(s) kreieren und starten cleanup_module() Rückbau der Infrastruktur c Robert Baumgartl, 2005 10 Systeme

IPC: RT-FIFOs Pendant zu named pipes unter UNIX unidirektional, beschränkte Größe ( Überlauf möglich) sowohl für RT-Tasks als auch Linux-Prozesse (beidseitig!) nutzbar Operationen von RT-Seite sind stets nichtblockierend Linux-Seite: Character Device, /dev/rtf0...63 Semantik RT Linux Zugriff erlangen rtf_create() mknod(), open() Löschung rtf_destroy() close(), unlink() Lesen rtf_get() read() Schreiben rtf_put() write() Tabelle 1: FIFO-API c Robert Baumgartl, 2005 11 Systeme

Weitere Aspekte Scheduling: neben harten Prioritäten (FEP) und Round Robin ebenfalls ratenmonotones Scheduling (RMS) und Earliest Deadline First (EDF) möglich RT-Messaging Shared-Memory-Segmente zwischen RTAI- und/oder Linux-Applikationen Mailboxen Semaphore: Prioritätsvererbung und Priority Ceiling möglich (Verhinderung Prioritätsinversion) RT-pthreads RTAI/fusion: RTAI-API im User-Space... c Robert Baumgartl, 2005 12 Systeme

Eigene (subjektive) Einschätzung/Erfahrungen rapide Entwicklung (WWW: 1.3 1.4 3.0 3.1r2 3.2 (aktuell)) Unterstützung durch Firmen: Denx Software Engineering, Gröbenzell Sysgo AG Metrowerks, Inc. Dokumentation hinkt stark hinterher, typisch Linux (inkonsistent, Read the source, Luke -Hilfen etc.) relativ viel Legacy-Funktionalität erschwert Einarbeitung Einsatz an JP EZS: Experimente im Rahmen des Praktikums Embedded Programming Diplomarbeit zur Portierung der zentralen Module auf eine DSP-Architektur Untersuchung der Eignung für autonome mobile Roboter (DA in Zusammenarbeit mit der Professur Prozeßautomatisierung) bisher nur 2.4er Kern genutzt; 2.6 wird ebenfalls unterstützt c Robert Baumgartl, 2005 13 Systeme

(Bisher) unterstützte Architekturen x86 (mit und ohne TSC, FP-Unterstützung) PowerPC (z. B. Motorola MPC8xx) ARM (StrongARM; ARM7: clps711x-family, Cirrus Logic EP7xxx, CS89712, PXA25x) MIPS Motorola ColdFire (basierend auf uclinux) c Robert Baumgartl, 2005 14 Systeme

Geschichtlicher Abriß März 1996: Idee der Virtualisierung der Interrupts (Michael Barabanov/Viktor Yodaiken: Real-Time Linux, Linux Journal) etwa ab 1998 DIAPM ( Dipartimento di Ingegneria Aerospaziale Politecnico di Milano ) RTAI ( Real-Time Application Interface ) Konkurrenzentwicklung unter Paolo Mantegazza 30. 11. 1999 US-Patent: Adding real-time support to general purpose operating systems (US 5,995,745) heftig umstritten, weil...... even if the patent owner offers a license on friendly terms, usually the project will be restricted in some way or other and the intentions of the developers to create real free software will be betrayed... Gründung der FSMLabs, Inc. (1999) Dezember 2003: RTAI ersetzt patentgefährdeten RTHAL durch ADEOS c Robert Baumgartl, 2005 15 Systeme

Momentane Lizenzsituation (AFAIK) RTAI: LGPL2 (d.h., es können auch proprietäre Module gelinkt werden) Core: GPL RT-LINUX: Open RTLinux Patent License : kostenlose Nutzung bei GPL Kommerzielle Lizenz, wenn Ergebnis der Arbeit nicht GPL U.S.-Patent No. 5,995,745 momentan nicht (aber bald?) in EU durchsetzbar c Robert Baumgartl, 2005 16 Systeme

Anwendungen Abbildung 2: Lasergesteuerte Schneidemaschine (http://www.primaindustrie.com/pr platino.html) c Robert Baumgartl, 2005 17 Systeme

Alternativen RTLinux: gleiches Prinzip, technisch gleichwertig, umstrittene Lizenz Microkernels: elementare BS-Funktionalität im Kern: IPC, Adreßräume, Threads alles andere im User Space (Dateisysteme, Gerätetreiber,... ) bessere Separation der Komponenten Beispiele: Mach, Exokernel, Chorus, L4/Fiasco weitaus weniger verbreitet c Robert Baumgartl, 2005 18 Systeme

Ausblick TAI continues to grow and mature through the combined contributions of the DIAPM development team and those across the Internet who are encouraged by RTAI s flexible architecture, high performance and feature set. (P. Mantegazza) Linux dringt in embedded-markt ein kontrovers diskutiert nachteilig: relativ großer Memory Footprint ungenügender Schutz Weitere Arbeitsziele: VxWorks and psos compatibility libraries Xenomai Linux Tracing Toolkit (LTT) c Robert Baumgartl, 2005 19 Systeme

Weiterführende Informationen Heimatseite RTAI: http://www.aero.polimi.it/ rtai Heimatseite RTLinux: http://www.fsmlabs.com/index.html RTAI 3.0 Documentation Page: http://www.fdn.fr/ brouchou/rtai/rtai-doc-prj/ Patent US05995745: http://www.delphion.com/details?pn=us05995745 Jerry Eplin: A Developer s Perspective on the RTLinux Patent, 2001 http://www.linuxdevices.com/articles/at2094189920.html RTLinux vs. RTAI: http://rtportal.upv.es/comparative/rtl vs rtai.html Adeos Nanokernel: http://home.gna.org/adeos/ GPL-Version von RT-Linux: http://www.rtlinux-gpl.org/ c Robert Baumgartl, 2005 20 Systeme