Architecture of the OSEK/VDX operating system

The architecture on which an OSEK Operating System is based can be viewed as a traditional fixed priority approach.

Each task in the system can be a basic task (BT) or an extended task (ET) (extended tasks are basic tasks that can react to external asynchronous events).

Every task in the system has assigned a fixed priority (statically assigned at compile time), and the scheduler always selects the higher priority task from the ready task queue. Interrupt service routines typically preempt the running task (except in case the running task uses resources).

To provide support for different features in the Operating system, the various requirements of the application in terms of number of tasks, memory consumption and like are listed in four conformance classes. The compliance of an OSEK OS is always stated with respect to one conformance class. Basically, conformance classes exist to allow partial implementations of the standard along pre-defined lines, creating an upgrade path from classes of lesser functionality to classes of higher functionality with no change to the application tasks.

The conformance classes specifies different requirements for the following attributes:

The following conformance classes are defined by the standard :

BCC1

Only basic tasks limited to one activation request per task and one task per priority, while all tasks have different priorities.

BCC2

Like BCC1, plus more than one activation request per task and more than one task per priority.

ECC1

Like BCC1, plus extended tasks.

ECC2

Like ECC1, plus more than one task per priority and multiple requesting of task activation allowed for basic tasks.