Defined as highly scalable operating system, unused features may be switched off. There are multiple, powerful mechanisms to synchronize Tasks Events are predefined signals which start or wake up tasks on occurrence of asynchronous external or internal triggers. Alarms are a means to implement timing sequences. Resources is a means to synchronize the access to shared hardware or data. Dynamic priority switching prevents deadlocks or priority inversion.
Task switching is performed with task activation or termination.
Each task may be configured preemptive or non-preemptive behavior. These program entry points will be addressed whenever the operating system performs a specific task. The user may place own code in these hooks to enhance the operating system functions by customized features. Specific initialization might be placed here instead of an initialization task. Whereas major parts are written in ANSI-C to provide the same quality for all platforms, crucial algorithms are implemented in assembler to benefit from the architectural features of the respective microprocessor.