OSEK OS und OSEK Time Betriebssysteme in Kfz. WS01/02Daniel Kasmeroglu 2 Probleme bei Eingebetteten...

Preview:

Citation preview

OSEK OS und OSEK Time

Betriebssysteme in Kfz

WS01/02 Daniel Kasmeroglu2

Probleme bei Eingebetteten Systemen in Kfz in den 80ern

Anzahl der Systeme steigt Hohe Entwicklungskosten durch inkompatible

Hardware Geringe Wiederverwendbarkeit von

Softwaremodulen auch innerhalb von Produktlinien

Variantenmanagement

WS01/02 Daniel Kasmeroglu3

Wozu einen Standard definieren ? (1)

Company 2000 Revenue

2000 Market Share %

1999 Revenue

1999 Market

Share %

Growth %

Motorola 1,409 10.8 1,299 12.3 8.5

NEC 836 6.4 708 6.7 18.1

ST Microelectronics 807 6.2 558 5.3 44.6

Infineon 718 5.5 613 5.8 17.1

Philips 596 4.6 543 5.2 9.7

Others 8,712 66.6 6,802 64.6 28.1

Total Market 13,078 100.0 10,523 100.0 24.3

WS01/02 Daniel Kasmeroglu4

Wozu einen Standard definieren ? (2)

WS01/02 Daniel Kasmeroglu5

Historisches

1993 „Initial Partners“ starten Projekt OSEK Parallel dazu wurde VDX in Frankreich

entwickelt 1994 OSEK und VDX schliessen sich zu

OSEK/VDX zusammen 1995 Zusammenführung OSEK und VDX

fertig 1997 Version 2.0 fertiggestellt

WS01/02 Daniel Kasmeroglu6

Was bezweckt man mit OSEK ?

Einführung einer Referenz-Architektur Reduktion der Entwicklungskosten Portabilität Wiederverwendbarkeit Skalierbarkeit

WS01/02 Daniel Kasmeroglu7

Der OSEK Standard (1)

Betriebssystem: OSEK OS 2.2 Kommunikation: OSEK Communication 2.2.2 Netzmanagement: OSEK Network

Management 2.5.1

WS01/02 Daniel Kasmeroglu8

Der OSEK Standard (2)

WS01/02 Daniel Kasmeroglu9

OSEK OS (1)Funktionalitäten

Ein-Prozessor OS Echtzeitfähig Multitasking Statisch Standard API bestehend aus 35 Funktionen

WS01/02 Daniel Kasmeroglu10

OSEK OS (2)Betriebsmittel

Grundlegende Betriebsmittel sind Tasks, Events und Interrupts

Ferner gibt es noch Alarme und Counter Steuerung über Standard API

(Version 2.2 = 35 Funktionen)

WS01/02 Daniel Kasmeroglu11

OSEK OS (3)Tasks

Nutzungsmöglichkeiten sind durch Konformitätsklasse bestimmt

WS01/02 Daniel Kasmeroglu12

OSEK OS (4)Tasks

Basic Tasks können nur folgendermassen beendet werden:

- Task beendet sich selbst

- OS wechselt zu Task mit höherer Prio

- Interrupt muss behandelt werden

WS01/02 Daniel Kasmeroglu13

OSEK OS (4)Tasks

Extended Tasks können durch Aufruf der Funktion ‚WaitEvent‘ in einen Wartezustand versetzt werden

WS01/02 Daniel Kasmeroglu14

OSEK OS (5)Task-Zustände

WS01/02 Daniel Kasmeroglu15

OSEK OS (6)Task-Scheduling

Abarbeitung der Tasks wird entweder über die Prioriät oder über die Scheduling-Politik (nicht-preemptiv, voll-preemptiv, gemischt-preemptiv) festgelegt

Scheduler ist Resource und kann von Task belegt werden um Switch zu verhindern

WS01/02 Daniel Kasmeroglu16

OSEK OS (7)Tasks-Scheduling (nicht preemptiv)

WS01/02 Daniel Kasmeroglu17

OSEK OS (8)Task-Scheduling

WS01/02 Daniel Kasmeroglu18

OSEK OS (9)Interrupts

ISR Kategorie 1:Kein Aufruf von OS Funktionen

ISR Kategorie 2:Aufruf von OS Funktionen

(eingeschränkt)

WS01/02 Daniel Kasmeroglu19

OSEK OS (10)Events

Events sind Ereignisse, die nur von Extended Tasks empfangen werden können.

Auslösung ist durch alle möglich.

WS01/02 Daniel Kasmeroglu20

OSEK OS (11)Zeitmanagement

Alarme lösen zu bestimmten Zeiten Ereignisse aus oder starten Tasks

Counter sind wie Uhren und können mit den Alarmen kombiniert werden

API zur Steuerung von Alarmen und Countern ist NICHT Teil der Spezifikation

WS01/02 Daniel Kasmeroglu21

OSEK OS (12)Resourcen

Resourcen sind Erweiterung zu Semaphoren um globale Daten Deadlock-frei zu behandeln.

Freigabe in umgekehrter Reihenfolge der Anforderung

Verwaltung mittels „Priority-Ceiling“ Protokoll Beendigung eines Tasks -> alle Resourcen

frei

WS01/02 Daniel Kasmeroglu22

OSEK OS (13)Hook-Routinen

Benutzer-Code aufgerufen durch OS Funktionen

Vorrangig vor allen Tasks Keine Unterbrechung durch Kategorie 2

Interrupts Meist nicht portierbar

WS01/02 Daniel Kasmeroglu23

Warum OSEK Time und nicht OSEK/VDX ?

Vorhersagbares Systemverhalten Systemstabilität (Fehlererkennung und –

toleranz) Kompatibilität zu OSEK/VDX

WS01/02 Daniel Kasmeroglu24

OSEK Time (1)Architektur

WS01/02 Daniel Kasmeroglu25

OSEK Time (2)Prozess-Behandlung

WS01/02 Daniel Kasmeroglu26

OSEK Time (3)OSEKTime mit OSEK/VDX

OSEK/VDX Prios liegen unter denen von OSEKTime

Mikrocontroller benötigt viele Interrupts Nicht-Preemptive Tasks in OSEK/VDX sind

nur für OSEK/VDX NP, sonst preemptiv Resourcen können nicht geteilt werden Kommunikation nur über FTCom

WS01/02 Daniel Kasmeroglu27

OSEK Time (4)Tasks

Keine Unterscheidung bei Tasks Können nur durch die Dispatcher-Tabelle

angestossen werden (Aktivierungsevent) WCET muss für jeden Task ermittelt werden

können

WS01/02 Daniel Kasmeroglu28

OSEK Time (5)Task-Zustände

WS01/02 Daniel Kasmeroglu29

OSEK Time (6)Task-Scheduling

Scheduling wird mittels einer Tabelle (dem sog. Dispatcher) vor dem Übersetzen festgelegt

Dispatcher wird durch ein Tool erzeugt Komplette Abarbeitung eines Dispatchers

bezeichnet man als eine Runde

WS01/02 Daniel Kasmeroglu30

OSEK Time (7)Task-Scheduling

WS01/02 Daniel Kasmeroglu31

OSEK Time (8)Systemstabilität

Deadlines der Tasks werden überwacht Monitor Einträge an den Deadlines Monitor Eintrag beliebig aber vor Beenden

einer Runde Wenn globale Zeit verfügbar -> lokale

anpassen

WS01/02 Daniel Kasmeroglu32

OSEK Time (9)Interrupts

ISR hat nur beschränkten Zugriff auf OS Interrupts dürfen in definierten Zeitintervallen

nur einmal auftreten Abschaltung der Interrupts, sobald ISR

beginnt Applikationen dürfen Interrupts nicht

Ein/Ausschalten

WS01/02 Daniel Kasmeroglu33

OSEK Standard

OIL steht für OSEK Implementation Language und wird benutzt um das OSEK/VDX Betriebssystem zu konfigurieren

FTCom ist eine Spezifikation zur fehlertoleranten Kommunikation

NM ist eine Spezifikation zur Organisation von Netzwerken

WS01/02 Daniel Kasmeroglu34

OSEK Implementationen / Tools

ERCOS ist eine Implementation der ETAS, die wiederum eine Tochter von Bosch ist.

BMW Standard Core ist eine Implementation basierend auf ProOSEK von 3Soft.

LEO stellt OSEK System als Prozess auf Desktop-System dar

WS01/02 Daniel Kasmeroglu35

Quellen

OSEK/VDX Spezifikationen http://www.osek-vdx.org

Folie 3, Zuwachsraten, Gartner Dataquest September 2001

Folie 4, Zuwachsraten, Hansen Report Folie 8, Schematische Darstellung des OSEK

Standards von 3Soft GmbH

Recommended