Betriebssysteme: OSEK und Pure. Dipl.-Inf. J. Richling Wintersemester 2003/2004



Ähnliche Dokumente
Betriebssysteme: Pure

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

EMES: Eigenschaften mobiler und eingebetteter Systeme AUTOSAR. Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 2010/2011

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

OSEK / OSEKtime - ein Vergleich

Software ubiquitärer Systeme

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Dämon-Prozesse ( deamon )

4D Server v12 64-bit Version BETA VERSION

Domänenanalyse Threadverwaltung/Scheduling

How-to: Webserver NAT. Securepoint Security System Version 2007nx

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

Einführung in Eclipse und Java

Windows Server 2008 (R2): Anwendungsplattform

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

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Hardware Virtualisierungs Support für PikeOS

Systeme 1. Kapitel 10. Virtualisierung

Erfassung von Umgebungskontext und Kontextmanagement

Betriebssystembau (BSB)

LPT1 Anschluss mit PCMCIA Karte

Switching. Übung 7 Spanning Tree. 7.1 Szenario

LavA OS: Ein Betriebssystem für konfigurierbare MPSoCs

BANKETTprofi Telefonschnittstelle

Verwendung des Terminalservers der MUG

Rillsoft Project - Installation der Software

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Java Enterprise Architekturen Willkommen in der Realität

RTEMS- Echtzeitbetriebssystem

Formular»Fragenkatalog BIM-Server«

White Paper. Embedded Treiberframework. Einführung

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Military Air Systems

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Java Entwicklung für Embedded Devices Best & Worst Practices!

Installationsvoraussetzungen

WINDOWS 8 WINDOWS SERVER 2012

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

SOFTWARE FÜR MOBILE ANLAGEN- INSPEKTIONEN MIT EX-SCHUTZ TERMINALS

Anbindung LMS an Siemens S7. Information

OSEK/VDX NM (Network Management)

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

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

Monitore. Klicken bearbeiten

Factory Method (Virtual Constructor)

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

Präsentation Von Laura Baake und Janina Schwemer

SolarWinds Engineer s Toolset

HTBVIEWER INBETRIEBNAHME

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

Horstbox VoIP. Stefan Dahler. 1. HorstBox Konfiguration. 1.1 Einleitung

MSXFORUM - Exchange Server 2003 > Archivierung mit Exchange eigenen Mitteln

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Microsoft Windows XP SP2 und windream

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

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

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Lizenzierung von System Center 2012

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

2 Datei- und Druckdienste

Lokale Installation von DotNetNuke 4 ohne IIS

Produktinformation DaVinci Developer

Technische Alternative elektronische Steuerungsgerätegesellschaft mbh. A-3872 Amaliendorf, Langestr. 124 Tel +43 (0)

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

OSEK Deadline-Analyse

EchoLink und Windows XP SP2

Installation des COM Port Redirectors

Lizenzen auschecken. Was ist zu tun?

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Inbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:

Identity Propagation in Fusion Middleware

Powermanager Server- Client- Installation

ORGA 6000 in Terminalserver Umgebung

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

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

Grundlagen von Python

Stecken Sie Ihren USB Stick oder Ihre externe USB Festplatte in den USB Steckplatz des Sinus 154 DSL SE.

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

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE


peer-to-peer Dateisystem Synchronisation

Kurzanweisung für Google Analytics

IBM SPSS Data Access Pack Installationsanweisung für Windows

Tipps und Tricks zu Netop Vision und Vision Pro

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Objektorientierte Programmierung für Anfänger am Beispiel PHP

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

Übung - Freigabe eines Ordners und Zuordnung eines Netzwerlaufwerks in Windows XP

Dynamic Ressource Management

Schnelleinstieg Starter System. Version 3.2

Internet Explorer Version 6

Transkript:

Betriebssysteme: OSEK und Pure Dipl.-Inf. J. Richling Wintersemester 2003/2004

Überblick Fünfeinhalb Vorlesungen: Embedded- und RT-Betriebssysteme (19.1.04) Beispiel: Windows CE (22.1.04) Beispiel: Windows XP embedded (Selbststudium mit Material auf CD) Beispiel: RT-Linux (26.1.04) Beispiel: PalmOS (29.1.04) Beispiel: OSEK und PURE (heute) 22-1 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK und PURE OSEK/VDX: Industrie-Standard für eine offene Architektur verteilter Fahrzeugsysteme Entwickelt von Fahrzeugherstellern und Zulieferern der Fahrzeugindustrie PURE Forschungsprojekt der Universität Magdeburg Konfigurierbares, adaptierbares und objektorientiertes Betriebssystem für tiefst eingebettete Systeme Kann unter anderem als OSEK-konformer Betriebssystemkern konfiguriert werden 22-2 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK/VDX OSEK: Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug VDX: Vehicle Distributed executive Gemeinsames Projekt der Fahrzeugindustrie Ziel: Industriestandard für offene Architektur für verteilte Steuersysteme in Fahrzeugen, um Probleme der Interoperabilität/Kompatibilität zu lösen Beinhaltet: Echtzeit-Betriebssystem Software-Interfaces Kommunikation Netzwerk-Management 22-3 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK System Philosophie Standardisierte Schnittstellen Skalierbarkeit Skalierbare Fehlerbehandlung Portierbare Anwendungssoftware Unterstützung für portable Systeme Unterstützung spezieller Anforderungen für Fahrzeuge 22-4 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Spezielle Anforderungen für Fahrzeuge OS ist statisch konfiguriert und skaliert. Ressourcennutzung (Anzahl Tasks, Ressourcen, Dienste) ist statisch vom Nutzer konfiguriert Ausführbarkeit aus dem ROM Portierbarkeit von Anwendungstasks Vorhersagbares und dokumentiertes Verhalten des OS Für jede OS-Implementierung müssen Performance-Parameter bekannt sein 22-5 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Entwicklung von Applikationen 22-6 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Taskmodell Das OSEK-Modell unterscheidet verschiedene Konformitätsklassen, die über das unterstützte Taskmodell unterschieden werden Taskmodelle: Basic Tasks Haben keinen waiting Zustand Extended Tasks Können auf Events warten Hintergrund Adaptierbarkeit in beiden Richtungen Sehr einfache Systeme, die weder Synchronisation, noch kompliziertes I/O benötigen Große und komplexe Systeme mit umfangreichen Tasksets, gemeinsamen Ressourcen-Zugriffen und Kommunikation zwischen den Tasks 22-7 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Basic Tasks running CPU ist der Task zugewiesen Instruktionen werden ausgeführt Nur eine Task in diesem Zustand ready Alle funktionalen Voraussetzungen für ready sind erfüllt Andere Task ist der CPU zugewiesen Warten auf Scheduler- Entscheidung suspended Task ist passiv Kann aktiviert werden 22-8 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Extended Tasks running CPU ist der Task zugewiesen Instruktionen werden ausgeführt Nur eine Task in diesem Zustand ready Alle funktionalen Voraussetzungen für running sind erfüllt Andere Task ist der CPU zugewiesen Warten auf Scheduler-Entscheidung waiting Task wartet auf wenigstens ein Ereignis suspended Task ist passiv Kann aktiviert werden 22-9 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Konformitätsklassen I Zwei Gruppen von Konformitätsklassen (CC Conformance Classes): Basic (BCC) erlaubt nur Basic Tasks Extended (ECC) erlaubt auch Extended Tasks CCs sind aufwärtskompatibel: BCC1, BCC2, ECC1, ECC2 22-10 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Minimale Parameter der Implementation OSEK Konformitätsklassen II 22-11 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Scheduling 22-12 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Event Mechanismus Mittel der Synchronisation Nur für extended Tasks festgelegte Anzahl von Events pro Task Bewirkt Zustandsänderungen zum und vom waiting Zustand Systemrufe zum: Erzeugen, Warten, Rücksetzen und Definieren von/auf Events Alarme als Form von Events 22-13 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Ressourcenverwaltung Obligatorisch für alle Konformitätsklassen Verantwortlich für prioritätengesteuerte Zugriffsverwaltung auf Ressourcen: Management Entities (z.b. Scheduler) Programmstücke (kritische Sektionen) Speicher Hardware Gewährleistet: Gegenseitigen Ausschluß Verhinderung von Prioritäteninvertierung (durch Priority Ceiling) Deadlock-Vermeidung Zugriff auf Ressourcen führt nicht zum Zustand waiting 22-14 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Fehlerbehandlung I Fehlerbehandlung durch Hook-Routinen (nutzerdefinierte Aktionen im internen Ablauf des OS) Hook-Routinen: Vom OS aufgerufen in einem speziellen Kontext Höhere Priorität als alle Tasks Implementationsabhängiges Interface Teil des OS, aber vom Nutzer definiert und implementiert Interface von OSEK standardisiert Funktionalität nicht von OSEK standardisiert (und meist umgebungsabhängig und nicht portabel) Dürfen nur eine Teilmenge der API-Funktionen nutzen sind optional Konventionen für Hooks müssen in einer OSEK-Implementierung beschrieben sein 22-15 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Fehlerbehandlung II Beispiele für Hook-Routinen: Systemstart Entsprechende Hook-Routine wird nach Start des OS und vor Start des Schedulers ausgeführt System-Shutdown Herunterfahren des Systems durch Anwendung oder im Falle eines Fehlers Debugging Anwendungsabhängiges Tracing oder Hooks zur Erweiterung von Kontext-Wechseln Fehler-Behandlung Wird gerufen, wenn ein Systemruf kein E OK zurückgegeben hat 22-16 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

OSEK Kommunikation Transparente lokale und Netzwerk-Kommunikation über Nachrichten Nachrichten sind in Nachrichtenobjekte eingebettet Nachrichtenobjekte werden zur Konfigurationszeit des Systems definiert Nachrichtenobjekte sind durch UIDs eindeutig identifiziert Tasks referenzieren Nachrichten über UIDs OSEK unterscheidet zwischen Event- und State-Nachrichten Für Event-Nachrichten: one-to-one und one-to-many Task-Aktivierung und Event-Erzeugung können statisch an die Ankunft einer Nachricht gekoppelt werden 22-17 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Entwickelt an der Universität Magdeburg und GMD unter Leitung von Prof. Schröder-Preikschat Ziele Maßgeschneidertes OS für verschiedenste Anwendungen Skalierbarkeit, insbesondere nach unten Prinzipien Programmfamilien mittels OO-Techniken realisieren Feingranulare Konfigurationen ermöglichen Keine unnötigen Features aufzwingen PURE ist nicht nur ein OS, sondern eine OS-Familie Minimale Teilmenge von Systemfunktionen Abstraktionen der Hardware Abbildungen und Meßwerte aus Veröffentlichungen der PURE-Entwickler 22-18 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Anforderungen Verschiedene Plattformen Gastebenen- und native Implementationen Unterschiedliche Hardware Ausstattung an RAM + ROM Verschiedene Benutzeranforderungen Programmiersprachen: Assembler, C, C++ Vorgefertigte Schablonen als Hilfsmittel, nicht aufzwingen Verschiedene Eigenschaften anbieten Statische oder dynamische Konfiguration Verschiedene Scheduling-Verfahren Verschiedene Kommunikationsmöglichkeiten... u.a. Konformität zum OSEK-Modell durch entsprechende Konfiguration 22-19 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Familienkonzept Programmfamilien... drücken polymorphe Strukturen aus basieren auf Gemeinsamkeiten der Familienmitglieder bieten Wiederverwendung existierender Komponenten an... können am einfachsten objekt-orientiert implementiert werden minimal subset incremental system design base class inheritance minimal extensions program families derived class object orientation 22-20 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Probleme und Lösungen mit OO Compilate enthalten oft eine Menge ungenutzten Codes Vermeidung von Standard-Bibliotheken Pro Methode ein File High-Level-C++-Features haben ihren Preis (Overhead) Templates und virtuelle Funktionen mit Bedacht benutzen Exception-Handling und Run-Time-Typinformation abschalten Tiefe Vererbungshierarchien führen zu vielen Konstruktor-Rufen Benutzung von Inline-Funktionen, wenn möglich 22-21 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Systemarchitektur I Offene Architektur Mikrokernel mit minimaler Funktionalität Objektorientierter Aufbau Kleine Objektmodule Zusammenfügbar nach Bedarf/Konfiguration application NEXT PURE CORE 22-22 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Systemarchitektur II CORE (concurrent runtime executive) Kern von Pure Passive und aktive Objekte Minimale Systemfunktionen für Scheduling von Events (implementiert über Hardware-Interrupts) Aktionen (implementiert als leichtgewichtige Threads) Möglichkeit der Integration von Treiber-Modulen NEXT (nucleus extentions) Anwendungsorientiertes Prozeß- und Adressraummodell Threadsynchronisation Problemorientiertes (remote) Messagepassing... Nur bei Bedarf vorhanden Verwandeln den Kern in einen verteilten abstrakten Thread-Prozessor 22-23 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Beispiel: Threadklassenhierarchie toc Servant tocservant tocpointer Trigger Triplet VoidLocker Clasp Locker Queue Sequence TaskStore Coroutine Being Candidature Chain Priority PriChain Actor Activity Visitor PriEntrant Entrant Chain Commuter Chain Commuter Party Contest Rivalry Queue Buckle Locker VoidLocker Idler Lavir Passenger Competition Passage Candidate Contestant Rival Competitor Confidant Schemer Wizard Scheme Claimant Partner Chain Fellow Aspirant Trimmer Customer Conductor Monitor Native Bundle Genius 22-24 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE OSEK PURE ist durch Konfiguration an sehr viele Anforderungen anpaßbar Ziel: OSEK-Konformität als proof of concept Nötige Anpassungen/Erweiterungen: Implementation von OSEK-API OSEK-Thread-Management Alarm-Behandlung nach OSEK-Spezifikation OSEK-Subfamilie: 61 Klassen 19 dediziert für OSEK 42 als wiederverwendbare Erweiterungen zu bereits existierenden Klassen Ergebnis Implementation aller vier OSEK-Konformitätsklassen Durch vorhandene Konfigurationsmöglichkeiten flexibel konfigurierbar 22-25 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Building Block Konfiguration basic i/o pipe formatted i/o floating point i/o Relative Alarm Absolute Alarm bell domains threads reel mixed scheduling preemptive scheduling priority based preemptive scheduling timer device Ethernet cout serial port CAN parallel port standalone event blocking event actionbox process based event event masks priority ceiling address spaces heap supply interrupt simulation dynamic binding vectortable abstraction fine grain locking predefined wrapper coarse grain locking ROMable wrapper flange synchronized interrupt handling unsynchronized interrupt handling sluice multi-activation threads priority based scheduling cooperative scheduling priorities 22-26 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Building Block Konfiguration: OSEK basic i/o pipe formatted i/o floating point i/o Relative Alarm Absolute Alarm bell domains threads reel mixed scheduling preemptive scheduling priority based preemptive scheduling timer device Ethernet cout serial port CAN parallel port standalone event blocking event actionbox process based event event masks priority ceiling address spaces heap supply interrupt simulation dynamic binding vectortable abstraction fine grain locking predefined wrapper coarse grain locking ROMable wrapper flange synchronized interrupt handling unsynchronized interrupt handling sluice multi-activation threads cooperative scheduling priority based scheduling priorities 22-27 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Implementationen und Meßwerte Unterstützte Hardware (Guestlevel und native): x86, i860, Alpha, Sparc, PPC60x sind implementiert C167 (Controller mit CAN) in Arbeit Hochmodular Über 100 Klassen Über 600 Methoden Messungen und Werte Basis: x86 nativ egcs-1.0.2 Compiler Alle Zeiten in Zyklen auf Pentium II 22-28 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Codegrößen 22-29 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Interrupt-Latenz und Kontextwechsel epilogue prologue thread interrupt lock free lock set leave 0 15 30 45 60 75 90 105 120 135 150 165 180 195 210 225 240 255 clock cycles 22-30 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Beispielanwendung: Aufbau Thread 1 Thread 2 forever do begin start time measurement set event for thread 2 wait for event from thread clear eventmask end 2 forever do begin wait for event from thread 1 stop time measurement clear eventmask set event for thread 1 end 22-31 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

PURE Beispielanwendung: Meßwerte scheduling strategy code data thread switch time FCFS thread 2871 1052 94 FCFS same bundle 3391 1052 126 FCFS diff. bundle 3371 1052 154 OSEK cooperative 3242 2248 148 OSEK preemptive 3674 2248 202 OSEK mixed preemptive 3922 2248 218 22-32 Eigenschaften mobiler und eingebetteter Systeme c J.Richling