OSEK-OS

Spezifikation für Datenverarbeitung in Echtzeitbetriebssystemen

OSEK-OS ist eine vom OSEK-Konsortium (siehe dort für weitere Informationen) verabschiedete Spezifikation für in der elektronischen Datenverarbeitung angewendete Echtzeitbetriebssysteme für eingebettete Systeme.[1][2][3] Hauptsächlich findet es Verwendung auf Echtzeitsystemen im Bereich der Automobilelektronik.

OSEK-OS war erdacht als offener Standard und ist seit 2005 in die ISO-Norm 17356-3 überführt worden.[4]

OSEK-OS Eigenschaften

Bearbeiten

Schnittstellen

Bearbeiten

Der OSEK-OS-Standard spezifiziert Schnittstellen zu Multitasking-Funktionen und ist damit Architektur-abhängig.

Sicherheit (Protection)

Bearbeiten

Der OSEK-OS-Standard ist für Controller entworfen, die über keine Memory Protection verfügen.

Der OSEK-OS-Standard ist statisch. Alle Betriebsmittel und Tasks werden vor dem Kompilieren für genau die gewollte Anwendung definiert und konfiguriert: die Anzahl, Typen und Eigenschaften der Tasks, Stacks, Mutex-Verfahren etc. Es ist nicht möglich, zur Laufzeit neue Tasks zu definieren. Der OSEK-OS-Standard kennt zwei verschiedene Klassen von Tasks: einfache Tasks und komplexe Tasks. Die einfachen Tasks können vergleichbar mit Interrupts nur durch einfache Tasks höherer Priorität unterbrochen werden und enden erst, wenn sie vollständig abgearbeitet sind. Komplexe Tasks warten während der Abarbeitung auf die Freigabe von Ressourcen und können so blockiert werden.

Scheduling

Bearbeiten

Das Scheduling kann auf zwei verschiedene Arten konfiguriert werden: Bei verdrängendem Scheduling kann ein Task jederzeit durch einen Task höherer Priorität unterbrochen werden (präemptives Scheduling), bei nicht verdrängendem Scheduling kann ein Task nur an bestimmten, zur Übersetzungszeit im Code fest konfigurierten Punkten unterbrochen werden (kooperatives Scheduling). Auch ein gemischter Betrieb ist möglich.

Während der OSEK-OS-Standard ein ereignisgesteuertes Betriebssystem spezifiziert, ist die OSEK-TIME Spezifikation (auch geschrieben: OSEKtime) eine Ergänzung für zeitgesteuerte Betriebssysteme.[5] Wenn konfiguriert, werden OSEK-TIME-Callback-Funktionen mit höherer Priorität bearbeitet als die in OSEK-OS konfigurierten Tasks.

Zielplattformen (Targets)

Bearbeiten

Übliche Zielplattformen sind 16- und 32-Bit-Mikrocontroller für die Automobilindustrie, das System ist jedoch skalierbar und ist auf 8- bis 32-Bit-Mikroprozessoren praktisch nutzbar.

Implementierungen

Bearbeiten

OSEK-OS Implementierungen sind aktuell verfügbar, sind meist kommerziell aber auch Open Source (siehe Liste von Betriebssystemen) und werden seit ca. 1997 primär für die Automobilindustrie und dort für Embedded-Steuergeräte (ECUs) angeboten. Der Begriff "OSEK" wird auch als Synonym für ein OSEK-OS-konformes Betriebssystem verwendet.

Es wird heutzutage jedoch in den meisten Fällen vom Nachfolger, der AUTOSAR Architektur, gesprochen oder diese angeboten.

Stand der Technik

Bearbeiten

Das AUTOSAR-Konsortium übernahm die OSEK-Spezifikationen:[6] OSEK-OS bildet heute die Basis des AUTOSAR OS der CLASSIC PLATFORM Architektur.[7]

Das AUTOSAR OS Betriebssystem ist rückwärtskompatibel zu OSEK-OS und beinhaltet auch OSEK-TIME, siehe die AUTOSAR Spezifikation "Requirements on Timing Extensions".[8]

AUTOSAR OS Implementierung CLASSIC PLATFORM (CP)

Bearbeiten

Zusammenfassung der Eigenschaften der CP Spezifikation, welche OSEK-OS sehr ähnlich sind:[7]

  • Wird statisch konfiguriert und ist skaliert
  • Ist anpassbar und ausgelegt für Echtzeitapplikationen und -leistungsbereiche
  • Bietet prioritätsbasiertes Scheduling
  • Bietet Schutzfunktionen (Speicher, Timing etc.) zur Laufzeit
  • Ist applizierbar auf Low-End-Controllern (Steuergeräten) und ohne externe Ressourcen einsetzbar

Weitere Inhalte wie RTE (Run-Time-Environment, Laufzeitumgebung), Operating System Abstraction Layer (OSAL), Multi-core, Firmware Over-the-air (OTA) etc. sind in der Spezifikation beschrieben bzw. mit weiteren AUTOSAR Spezifikationen verlinkt.

Ebenfalls existieren Arbeitsgruppen ("Working groups") zu den einzelnen Spezialbereichen des RTOS.[9]

AUTOSAR ADAPTIVE (AP) PLATFORM

Bearbeiten

Als Anmerkung sei erwähnt, dass die ADAPTIVE PLATFORM Architektur nicht unbedingt auf OSEK aufsetzt bzw. spezifiziert, sondern ein Operating System Interface (OSI) beschreibt. AP spezifiziert POSIX und dort speziell PSE51 für Steuergeräte,[10] d. h. ein POSIX-konformes OS kann integriert werden.[11]

Literatur

Bearbeiten
  • Peter Gliwa: Embedded Software Timing: Methodik, Analyse und Praxistipps am Beispiel Automotive. Springer Fachmedien Wiesbaden, Wiesbaden 2021, ISBN 978-3-658-26479-6, doi:10.1007/978-3-658-26480-2.
  • Joseph Lemieux: Programming in the Osek/VDX Environment. Mcgraw-Hill Professional, 2001, ISBN 1-57820-081-4 (englisch).
  • Matthias Homann: OSEK – Betriebssystem-Standard für Automotive und Embedded Systems. 2. Auflage. mitp-Verlag, Bonn 2005, ISBN 3-8266-1552-2.
  • Werner Zimmermann und Ralf Schmidgall: Bussysteme in der Fahrzeugtechnik – Protokolle, Standards und Softwarearchitektur. 4. Auflage. Vieweg+Teubner, 2010, ISBN 978-3-8348-0907-0.
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Marcel Consée: Entwicklung von Kfz-Software: Wechsel von OSEK zu AUTOSAR. Abgerufen am 17. September 2021.
  2. Matthias Homann: OSEK : Betriebssystem-Standard für Automotive und Embedded Systems. 2., überarb. Auflage. Mitp-Verl, Bonn 2005, ISBN 3-8266-1552-2.
  3. Joseph Lemieux: Programming in the OSEK/VDX environment. CMP Books, Lawrence, Kan. 2001, ISBN 0-08-052218-1.
  4. ISO: ISO 17356-3:2005 Road vehicles — Open interface for embedded automotive applications — Part 3: OSEK/VDX Operating System (OS). Abgerufen am 17. September 2021 (englisch).
  5. Stefan Poledna, Martin Glück, Christian Tanzer, Samuel Boutin, Elmar Dilger: OSEKtime: A Dependable Real-Time Fault-Tolerant Operating System and Communication Layer as an Enabling Technology for By-Wire Applications. In: SAE Technical Paper Series. SAE International, 400 Commonwealth Drive, Warrendale, PA, United States 6. März 2000, doi:10.4271/2000-01-1051.
  6. Winner, Hermann 1955 - Herausgeber Hakuli, Stephan Herausgeber Lotz, Felix Herausgeber Singer, Christina Herausgeber: Handbuch Fahrerassistenzsysteme Grundlagen, Komponenten und Systeme für aktive Sicherheit und Komfort. ISBN 978-3-658-05734-3, S. 115 ff.
  7. a b AUTOSAR development cooperation: Classic Platform. Abgerufen am 17. September 2021 (englisch).
  8. AUTOSAR: Requirements on Timing Extensions. Hrsg.: AUTOSAR. Nr. 410, S. 42 (autosar.org [PDF]).
  9. AUTOSAR development cooperation: CLASSIC PLATFORM WORKING GROUPS (CP). Abgerufen am 17. September 2021 (englisch).
  10. Vector Informatik: The Adaptive Platform for Future Use Cases. Hrsg.: Vector Informatik. 2006 (englisch, vector.com [PDF]).
  11. Comparison of AUTOSAR Classic and Adaptive Platforms - MATLAB & Simulink. Abgerufen am 17. September 2021.