OSEK
Encyclopedia
OSEK is a standards body that has produced specifications for an embedded operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

, a communications stack, and a network management protocol for automotive embedded system
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...

s. It has also produced other related specifications. OSEK was designed to provide a standard software architecture for the various electronic control unit
Electronic control unit
In automotive electronics, electronic control unit is a generic term for any embedded system that controls one or more of the electrical systems or subsystems in a motor vehicle....

s (ECUs) throughout a car.

OSEK was founded in 1993 by a German automotive company consortium (BMW
BMW
Bayerische Motoren Werke AG is a German automobile, motorcycle and engine manufacturing company founded in 1916. It also owns and produces the Mini marque, and is the parent company of Rolls-Royce Motor Cars. BMW produces motorcycles under BMW Motorrad and Husqvarna brands...

, Robert Bosch GmbH
Robert Bosch GmbH
Robert Bosch GmbH is a multinational engineering and electronics company headquartered in Gerlingen, near Stuttgart, Germany. It is the world's largest supplier of automotive components...

, DaimlerChrysler
DaimlerChrysler
Daimler AG is a German car corporation. By unit sales, it is the thirteenth-largest car manufacturer and second-largest truck manufacturer in the world. In addition to automobiles, Daimler manufactures buses and provides financial services through its Daimler Financial Services arm...

, Opel
Opel
Adam Opel AG, generally shortened to Opel, is a German automobile company founded by Adam Opel in 1862. Opel has been building automobiles since 1899, and became an Aktiengesellschaft in 1929...

, Siemens
Siemens
Siemens may refer toSiemens, a German family name carried by generations of telecommunications industrialists, including:* Werner von Siemens , inventor, founder of Siemens AG...

, and Volkswagen Group
Volkswagen Group
Volkswagen Group is a German multinational automobile manufacturing group. , Volkswagen was ranked as the world’s third largest motor vehicle manufacturer and Europe's largest....

) and the University of Karlsruhe. In 1994, the French cars manufacturers Renault
Renault
Renault S.A. is a French automaker producing cars, vans, and in the past, autorail vehicles, trucks, tractors, vans and also buses/coaches. Its alliance with Nissan makes it the world's third largest automaker...

 and PSA Peugeot Citroën
PSA Peugeot Citroën
PSA Peugeot Citroën is a French manufacturer of automobiles and motorcycles sold under the Peugeot and Citroën marques. Headquartered in the 16th arrondissement of Paris, PSA is the second largest automaker based in Europe and the number eight in the world.-History:In December 1974 Peugeot S.A....

, which had a similar project called VDX (Vehicle Distributed eXecutive), joined the consortium. Therefore, the official name is OSEK/VDX.

OSEK is an open standard
Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....

, published by a consortium
Consortium
A consortium is an association of two or more individuals, companies, organizations or governments with the objective of participating in a common activity or pooling their resources for achieving a common goal....

 founded by the automobile industry.

OSEKtime specifies a standard for optional time-triggered real-time operating system
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...

s. If used, OSEKtime triggered callbacks run with higher priority than OSEK tasks.

Some parts of OSEK are standardized in ISO 17356.

The AUTOSAR
AUTOSAR
AUTOSAR is an open and standardized automotive software architecture, jointly developed by automobile manufacturers, suppliers and tool developers...

 consortium reuses the OSEK specifications: 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.

The OSEK standard specifies interfaces to multitasking functions--generic I/O and peripheral access--and thus remains architecture dependent.
OSEK systems are expected to run on chips without memory protection
MMU
MMU may refer to:* Manchester Metropolitan University in England* Manned Maneuvering Unit, a NASA rocket pack that snaps onto the back of a spacesuit* Marymount University, a Catholic university in Arlington, Virginia...

.
Features of an OSEK implementation can be usually configured at compile-time.
The number of application tasks, stacks, mutexes
Mutual exclusion
Mutual exclusion algorithms are used in concurrent programming to avoid the simultaneous use of a common resource, such as a global variable, by pieces of computer code called critical sections. A critical section is a piece of code in which a process or thread accesses a common resource...

, 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
Priority inversion
In computer science, priority inversion is a problematic scenario in scheduling when a higher priority task is indirectly preempted by a lower priority task effectively "inverting" the relative priorities of the two tasks....

 are prevented by priority ceiling (i.e. no priority inheritance
Priority inheritance
In real-time computing, priority inheritance is a method for eliminating priority inversion problems. Using this programming method, a process scheduling algorithm will increase the priority of a process to the maximum priority of any process waiting for any resource on which the process has a...

).
The specification uses ISO/ANSI-C-like syntax; however, the implementation language of the system services is not specified. An ABI is also not specified.

See also

  • IEC 61508
    IEC 61508
    IEC 61508 is an international standard of rules applied in industry. It is titled "Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems"....

     is a standard for programmable electronic safety-related systems.
  • safety standards
    Safety standards
    Safety standards are standards designed to ensure the safety of products, activities or processes, etc. They may be advisory or compulsory and are normally laid down by an advisory or regulatory body that may be either voluntary or statutory...

  • Controller Area Network
    Controller Area Network
    Controller–area network is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer....

     (CAN)

External links

  • osek-vdx.org Official Web Page of the OSEK Project
  • autosar.org
  • Arctic Core is a dual license (GPL/commercial) AUTOSAR implementation with OSEK implementation.
  • TOPPERS-OSEK GPL license, runs on m68k, sh1, sh2, sh3, h8, arm 4, m32r, MicroBlaze
    MicroBlaze
    The MicroBlaze is a soft processor core designed for Xilinx FPGAs from Xilinx. As a soft-core processor, MicroBlaze is implemented entirely in the general-purpose memory and logic fabric of Xilinx FPGAs.-Overview:...

    , tms320c54x, xstormy16, mips3
    MIPS architecture
    MIPS is a reduced instruction set computer instruction set architecture developed by MIPS Technologies . The early MIPS architectures were 32-bit, and later versions were 64-bit...

    , NIOS II
    Nios II
    Nios II is a 32-bit embedded-processor architecture designed specifically for the Altera family of FPGAs. Nios II incorporates many enhancements over the original Nios architecture, making it more suitable for a wider range of embedded computing applications, from DSP to system-control.Nios II is...

  • openOSEK is a free, open source implementation (LGPL license)
  • Trampoline LGPL license, runs on Infineon C166
    C166 family
    The C166 family is a 16-Bit microcontroller architecture from Infineon in cooperation with STMicroelectronics. It was first released in 1993. It uses the well-establied RISC concept, but features some microcontroller-specific extensions such as bit-addressable memory and an interrupt system...

    , PowerPC
    PowerPC
    PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

  • PICOS18 is another open source implementation (GPL license) with support for Microchip PIC18.
  • mKernel is another open source implementation (GPL license) with Partially OSEK/VDX compliant oil generator supporting only the Microchip PIC18F4550.
  • nxtOSEK is an open source implementation for the Mindstorms NXT robots
  • FreeOSEK is an open source OSEK-VDX Implementation.
  • ERIKA Enterprise
    ERIKA Enterprise
    Erika Enterprise is an open-source implementation of the OSEK/VDX API. ERIKA Enterprise includes also RT-Druid, which is a development environment distributed as a set of Eclipse plugins....

     (ERIKA Enterprise, external link) is an implementation of the OSEK OS (BCC1, BCC2, ECC1, ECC2), OIL, ORTI specifications, provided with an Eclipse plugin and support for Microchip dsPIC, PIC32, AVR, Nios II, ARM7, S12XS, Tricore1, Mico32, PPC z7, esi-RISC, MSP430. (License: GPL linking exception
    GPL linking exception
    A GPL linking exception modifies the GNU General Public License to create a new, modified license. Such modified licenses enable software projects which provide library code, to be "linked to" the programs that use them, without applying the full terms of the GPL to the using program...

    )
  • Trioz OSEK RTOS is a commercial implementation of an OSEK RTOS (Unknown license)
  • Vector’s osCAN is a commercial implementation of an OSEK RTOS (Unknown license)
  • RTA-OSEK is a commercial implementation of an OSEK RTOS (Unknown license)
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK