Specifications for embedded operating systems within automotives
OSEK (OffeneSysteme und deren Schnittstellen für dieElektronik inKraftfahrzeugen; English: "Open Systems and their Interfaces for the Electronics in Motor Vehicles") is a standards body that has produced specifications for an embeddedoperating system, a communications stack, and a network management protocol for automotiveembedded systems.[1][2][3] It has produced related specifications, namelyAUTOSAR. OSEK was designed to provide a reliable standard software architecture for the variouselectronic control units (ECUs) throughout a car.
ISO 17356-1:2005 Road vehicles—Open interface for embedded automotive applications—Part 1: General structure and terms, definitions and abbreviated terms
ISO 17356-2:2005 Road vehicles—Open interface for embedded automotive applications—Part 2: OSEK/VDX specifications for binding OS, COM and NM
ISO 17356-3:2005 Road vehicles—Open interface for embedded automotive applications—Part 3: OSEK/VDX Operating System (OS)
ISO 17356-4:2005 Road vehicles—Open interface for embedded automotive applications—Part 4: OSEK/VDX Communication (COM)
ISO 17356-5:2006 Road vehicles—Open interface for embedded automotive applications—Part 5: OSEK/VDX Network Management (NM)
ISO 17356-6:2006 Road vehicles—Open interface for embedded automotive applications—Part 6: OSEK/VDX Implementation Language (OIL)
The OSEK standard specifies interfaces to multitasking functions—generic I/O and peripheral access—and thus remains architecture dependent. OSEK is expected to run on microcontroller withoutmemory management unit (MMU), which is favored forsafety-critical systems such as cars, therefore features of an OSEK implementation will be usually configured at compile-time. The number of application tasks, stacks,mutexes, etc. is statically configured; it is not possible to create more at run time. OSEK recognizes two types of tasks/threads/compliance levels: basic tasks and enhanced tasks. Basic tasks never block; they "run to completion" (coroutine). Enhanced tasks can sleep and block on event objects. The events can be triggered by other tasks (basic and enhanced) or interrupt routines. Only static priorities are allowed for tasks.First In First Out (FIFO) scheduling is used for tasks with equal priority. Deadlocks andpriority inversion are prevented bypriority ceiling (i.e. nopriority inheritance).
The specification uses ISO/ANSI-C-like syntax; however, the implementation language of the system services is not specified. AnApplication Binary Interface (ABI) is also not specified.
Currently theAUTOSAR consortium reuses the OSEK specifications as part of the Classic Platform.[15]
The operating system is a backwards compatible superset of OSEK OS which also covers the functionality ofOSEKtime, and the communication module is derived from OSEK COM.[16]OSEKtime specifies a standard for optional time-triggeredreal-time operating systems.[17] If used,OSEKtime triggered callbacks run with higher priority than OSEK tasks.
There is also a limited amount of active research, e. g. in the area of systems engineering and OSEK / VDX RTOS[18] or in relation to the compatibility between OSEK and AUTOSAR.[19]
In a 48-page report from 2003 by theSoftware Engineering Institute (SEI) atCarnegie Mellon University (CMU), the specifications were examined and possible weaknesses in the areas of alarm and event mechanisms were identified with possible solutions. The potential of OSEK was also mentioned.[20][21]
Note: A limited number of implementations and vendors exist. Most products are only commercially sold and licensed, others are freely available with open-source license for a limited number of controllers. See also:Comparison of real-time operating systems.
Note: Open-source developments are often very limited in scope (targets, conformance classes, characteristics) and are not verified against the specifications unless told otherwise.
^Handbuch Fahrerassistenzsysteme Grundlagen, Komponenten und Systeme für aktive Sicherheit und Komfort. Hermann Winner, Stephan Hakuli, Felix Lotz, Christina Singer (3., überarb. u. erg. Aufl. 2015 ed.). Wiesbaden. 2015. pp. 115 ff.ISBN978-3-658-05734-3.OCLC906179237.{{cite book}}: CS1 maint: location missing publisher (link) CS1 maint: others (link)
^Herausgeber, Winner, Hermann 1955- Herausgeber Hakuli, Stephan Herausgeber Wolf, Gabriele (7 October 2011).Handbuch Fahrerassistenzsysteme Grundlagen, Komponenten und Systeme für aktive Sicherheit und Komfort; mit 45 Tabellen. Vieweg+Teubner Verlag.ISBN978-3-8348-1457-9.OCLC759826017.{{cite book}}: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link)
^Hong, J.; Kum, D.; Jin, S. (November 2011). "Analysis of the scheduler development techniques for the optimization of the OSEK OS".2012 9th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI). pp. 614–615.doi:10.1109/URAI.2012.6463096.ISBN978-1-4673-3112-8.S2CID17396815.