Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG



Ähnliche Dokumente
Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Koexistenz unterschiedlicher Zeitanforderungen in einem gemeinsamen Rechensystem

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

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

OSEK Deadline-Analyse

Echtzeitscheduling (1)

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

Hardware Virtualisierungs Support für PikeOS

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

Gesetz zur besseren Vereinbarkeit von Familie, Pflege und Beruf. 14. Oktober 2014

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER

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

Integrated Modular Avionics & ARINC 653

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Round-Robin Scheduling (RR)

Softwarelösungen: Versuch 4

Xesar. Die vielfältige Sicherheitslösung

Stackelberg Scheduling Strategien

Effiziente Ankopplung eines zeitgesteuerten Feldbusses an ein Echtzeitbetriebssystem

Einführung in die Systemprogrammierung

OSEK / OSEKtime - ein Vergleich

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

Elektronischer Kontoauszug

TECHNISCHE DOKUMENTATION ZUM TURBO-FREEZER XL 3 & XE 1

Domänenanalyse Threadverwaltung/Scheduling

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

Elektronischer Kontoauszug

Verteilte Echtzeit-Systeme

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

WLGauge: : Web Link Gauge to Measure the Quality of External WWW Links. Andreas Lübcke

Freischaltung eines neuen VR-NetKeys mit SecureGo

Wasserfall-Ansätze zur Bildsegmentierung

Vor Ausspruch einer Kündigung wegen vertragswidrigen Verhaltens (sog. verhaltensbedingte Kündigung)

testo Saveris Datenmonitoring in der Industrie.

Rentenreform ab 1. Januar Am 16. November 2000 hat der Deutsche. Bundestag die Streichung der bisherigen Berufsund

VIDEO ADAPTER USB 2.0 AUF HDMI

Zinssicherung im B2B Markt April 2010

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

Embedded Linux. Arthur Baran

Vergabe von Eigenhypotheken

7" TFT-Monitor SEC24-7-TFT zum Anschluß an Überwachungskameras, Überwachungsrecorder, usw.

Java für Embedded Systems

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil

Gussnummern-Lesesystem

Military Air Systems

Melanie Kaspar, Prof. Dr. B. Grabowski 1

Anleitung für die Version von online 1. Schritt: Rufen Sie die Website auf...

Informatik, Mathematik und Naturwissenschaften

Schnellste Realtime Segmentierung weltweit

Echtzeitanforderung und Linux

Technical Note 0606 ewon

IGH Primarstufe Info Klasse 4 Verfahren Grundschulempfehlung Schuljahr

Sanitär. Heizung. Flaschnerei.

INOX SCHNEIDSERVICE AUF EXPANSIONSKURS MIT LANTEK- SOFTWARE. Case Study:

Neue Perspektiven für Ihr Bauprojekt. Referenzlösungen von AXIO-NET

Protonet SOUL USE CASE - Familienserver

Trainingsplan 16-wöchiger Trainingsplan für einen Triathlon (Volkstriathlon), Einsteiger

ios-mobilef App für SMARTRYX

Elektrische Anlagen und Betriebsmittel

3.14 Die Programmieroberfläche Programmierung

VIDEO ADAPTER USB 2.0 AUF HDMI. Anleitung zur Schnellinstallation DA-70851

Der Scheduler von Windows Konzepte und Strategien

Kapitelübersicht. Vorstellung & Funktion. Die Komponenten Anwendungsmöglichkeiten. Praktische Anwendung K LAN

HOTEL BÄREN. Familie Sauter Beobachtungen & Problembereiche. Interview mit Stefan Sauter (Miteigentümer)

wegen unentschuldigter Fehltage in der Berufsschule oder fehlender Bereitschaft zur Eingliederung in die betriebliche Ordnung

Ein Zusatzprogramm zum epos Gefahrstoff-Manager

Mobiler POS mit iaps. Mobile Datenerfassung:

QR-Codes und APEX. Dr. Harry W. Trummer / Alexander Elsas Goethe-Universität Frankfurt

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

BETRIEBSSICHERHEIT wird bei uns groß geschrieben! D eutschlandweite P rüfung nach BetrSichV und DGUV Vorschrift 3+4 G erichtsfeste Dokumentation

Jan Parthey, Christin Seifert. 22. Mai 2003

Intelligente Lastmesssysteme für Messe- und Veranstaltungszentren

Installationshinweise Linux Edubuntu 7.10 bei Verwendung des PC-Wächter

Schließsysteme mit Sorglos-Service, einfach, intelligent. Die Evolution der Schließsysteme

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können.

Siemens Industry Online Support Persönlicher Bereich - Aufrufen

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

Webbasierte Leittechnik vom Gerät zum System Dr. Michael Unkelbach, Energy Sector, PG LDE1

Dämon-Prozesse ( deamon )

Albert Dengg. Graz,

GITS Steckbriefe Tutorial

staffitpro WEB Produkte und Lizenzen (SaaS) (Ergänzung zu Allgemeine Geschäftsbedingungen audeosoft GmbH staffitpro Web-SaaS )

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

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

Nachfrage, Angebot, Gleichgewicht, Effizienz auf perfekt kompetitivem Markt Aber: Marktversagen (Part 3)

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Dynamic Ressource Management

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

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

Dokumentenverwaltung im Internet

Gewerbeumfrage Breitband

TISIS - Industrie 4.0. Ereignis, Ort, Datum

Gebührensatzung zur Satzung der Gemeinde Brechen über die Benutzung der Kindertageseinrichtungen

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

GEVITAS Farben-Reaktionstest

R. Brinkmann Seite Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007

Transkript:

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Am Pfaffenstein 14 D-55270 Klein-Winternheim Tel. +49 (0) 6136 9948-0 Fax. +49 (0) 6136 9948-10

PikeOS: multiple VM Umgebung VM #0 VM #1 VM #2... PikeOS System Software user Mode PikeOS µ-kern ( P4 ) priv. Mode 2

PikeOS: multiple VM Umgebung Statische Verteilung der Betriebsmittel auf VMs: Speicher Zugriff auf Geräte (Register/Interrupts) Kern-Speicher Rechte (Inter-VM Kommunikation, Priv. Aufrufe,..) Rechenzeit Dadurch sichere Entkopplung der VMs Minimale Trusted Code Base: µkern System Software 3

PikeOS: Personalities Unterschiedliche (teils konträre) Anforderungen Linux App. Linux App. Linux Personality ptheads Applikation pthreads Personality OSEK Applikation OSEK Personality Ada Runtime, JVM,... PikeOS System Software user Mode PikeOS µ-kern priv. Mode 4

Vielfalt an Zeitanforderungen Nicht-Echtzeit (z.b. Linux) keine Fristen (Deadlines) faire Prozessorzuteilung möglichst gute Prozessorausnutzung Harte Echtzeit (z.b. pthreads, OSEK OS): Fristen sind einzuhalten 2 Unterklassen: 1) Zeitgetrieben/Periodisch Zyklisch wiederholter Rechenbedarf (Zeitpunkte bekannt) worst-case Ausführungszeit bekannt 2) Ereignisgetrieben Rechenbedarf entsteht durch externe Ereignisse (Zeitpunkte unbekannt) worst-case Ausführungszeit bekannt 5

Zeitgetriebenes Scheduling Feste Zeitschlitze für Prozesse (i.a. zyklische Wiederholung der Zeitschlitze in einem Zeitrahmen) so bemessen, daß Zeitanforderungen eingehalten werden Berücksichtigung von ereignisgetriebenen Prozessen für den worst case Fall (d.h. Alle Ereignisse treten ein) Weitere, feste Zeitschlitze für Nicht-Echtzeitprozesse P 0 P 1 P 2 P Non-RT Zeit d 0 d 1 d 2 6

Zeitgetriebenes Scheduling Vorteile/Nachteile: + ideal für zeitgetriebene Prozesse + wohlgeordneter Ablauf (keine überflüssigen Kontextwechsel) + Zeit jedes Prozesses individuell begrenzt - hohe worst-case Antwortzeit für ereignisgetriebene Prozesse - für ereignisgetriebene Prozesse: schlechte Prozessorausnutzung P 0 P 1 P 2 P Non-RT Zeit d 0 d 1 d 2 7

Prioritätsverfahren (z.b. RTAI, RTLinux) Zuteilung des Prozessors anhand von Prioritäten Prioritäten entsprechend der Frist, z.b. kurze Deadline -> hohe Priorität niederpriore Prozesse durch hochpriore unterbrechbar niedrigste Priorität für Nicht-Echtzeitprozesse P 0 P 1 Prio P 2 P Non-RT P idle r 1 r 0 r 2 d 0 d 1 d 2 Zeit 8

Prioritätsverfahren Vorteile/Nachteile: + Prozessor für hochpriore Prozesse stets verfügbar + von Echtzeitprozessen nicht genutzte Rechenzeit ist für Nicht- Echtzeitprozesse nutzbar -> gute Prozessorauslastung - Overhead durch überflüssige Kontextwechsel - Hochpriore Prozesse können den Prozessor beliebig lange belegen P 0 P 1 Prio P 2 P Non-RT P idle r 1 r 0 r 2 d 0 d 1 d 2 Zeit 9

Prioritätsverfahren Vertrauensproblem : Prozess gegebener Priorität muss allen höher priorisierten Prozessen vertrauen (DoS-Attacken möglich) => Zwangskopplung von Priorität und Vertrauenswürdigkeit. Für PikeOS nur innerhalb einer VM akzeptabel! P 0 P 1 Prio P 2 P Non-RT P idle r 1 r 0 r 2 d 0 d 1 d 2 Zeit 10

ARINC 653(*) Scheduler Zweistufiges Verfahren Zeitschlitze ( Zeitpartitionen ), in denen prioritätsgesteuert Gruppen von Prozessen arbeiten Prio Part. # 0 Part. # 1 Part. # 2 (*) Avionics Application Software Standard Interface ARINC Specification 653, January 1997. Zeit 11

ARINC 653 Scheduler Sichere Entkopplung der Zeitpartitionen Aber: - Schlechte Prozessorausnutzung - Hohe worst case Antwortzeit Prio Part. # 0 Part. # 1 Part. # 2 Zeit 12

PikeOS-Verfahren Erweiterung des ARINC 653-Verfahrens N Zeitpartitionen 0.. N Davon zwei gleichzeitig aktive Zeitpartitionen: Prio 0 : immer aktiv, Current : (0 < Current < N), jeweils für vorgegebene Zeit 0 1 2 3 Zeit 13

PikeOS-Verfahren Scheduler wählt einen Prozess aus 0 Current, entscheidet anhand der Priorität Prio 0 1 2 3 Zeit 14

Implementierung prio...... 0... prio...... 1 Maxprio Dispatch... Current prio...... switch_tp()... N 15

Bedeutung der Zeitpartitionen Current : Vordergrundpartition Fest zugesichertes Zeitkontingent Typisch: Prioritätsband 0 : Hintergrundpartition niederprior: Nutzung übrig gebliebener Zeit für Nicht- Echtzeitprozesse (z.b. Linux) hochprior: Partitions-übergreifende Services Device Treiber Watchdog/Health Monitor Partition Scheduler 16

Implementierung Npart x Nprio Ready queues Current umschaltbar über Systemaufruf: switch_tp_and_wait(taunext, duration) Zeitbasis: oneshot Timer (ggf. separate HW) Zeitpartitionsumschaltung im User-space Partition Scheduler: Hochpriorer Thread in 0 Einfaches Austauschen von Schedules Geringer Overhead (1 syscall pro Partitionsumschaltung) Minimale Zeitschlitze ~250µs bei vertretbarem Overhead(*) (*) ca. 10% bei MPC 5200@400MHz 17

Vor/Nachteile gute Prozessorauslastung möglich keine Zwangskopplung von Vertrauen und Priorität deterministisch Problem: hohe worst case response wie bei zeitgetriebenen Verfahren, d.h. 1 Zyklus Mögliche Auswege: Verlagern in 0 (möglich!), aber u.u. Vertrauensproblem kurze Zeitschlitze (bis 250µs) -> proportional share kritische Partitionen mehrfach im Zyklus 18

Zusammenfassung vielseitiges Verfahren Echtzeit- & Nicht-Echtzeitprozesse, ereignis- oder zeitgetrieben leicht verständlich, leicht Implementierbar deterministisch gute Prozessorauslastung zum Patent angemeldet 19