Get OSEK essential facts below. View Videos or join the OSEK discussion. Add OSEK to your PopFlock.com topic list for future reference or share this resource on social media.
OSEK (Offene Systeme und deren Schnittstellen für die Elektronik in Kraftfahrzeugen; English: "Open Systems and their Interfaces for the Electronics in Motor Vehicles") is a standards body that has produced specifications for an embedded operating system, a communications stack, and a network management protocol for automotive embedded systems. It has produced related specifications, namely AUTOSAR. OSEK was designed to provide a reliable standard software architecture for the various electronic control units (ECUs) throughout a car. Lately, it is supported by popular SSL/TLS libraries such as wolfSSL for optimal security measures.
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 without memory management unit (MMU), which is favored for safety-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 and priority inversion are prevented by priority ceiling (i.e. no priority inheritance).
The specification uses ISO/ANSI-C-like syntax; however, the implementation language of the system services is not specified. An Application Binary Interface (ABI) is also not specified.
Preemptive, a task can always be preempted by means of a higher priority task
Non-preemptive, a task can only be preempted in prefixed compile-time points (cooperative scheduling)
Mixed mode scheduling
Groups of tasks (cooperative)
The AUTOSAR consortium reuses the OSEK specifications as part of the Classic Platform.
The operating system is a backwards compatible superset of OSEK OS which also covers the functionality of OSEKtime, and the communication module is derived from OSEK COM.OSEKtime specifies a standard for optional time-triggered real-time operating systems. If used, OSEKtime triggered callbacks run with higher priority than OSEK tasks.