RTEMS

Real-Time Executive for Multiprocessor Systems (RTEMS) is a free open source real-time operating system designed for embedded systems and adopted by the ESA for space applications and space missions. RTEMS 4.8.1 has been para-virtualised to be executed as partition on top of XtratuM.

This development environment permit to develop RTEMS/XM2 applications in a partitioned system. This execution environment facilitates legacy code execution of RTEMS applications. Any RTEMS application could be executed without modification in this environment.

The porting defines two new BSP xm2leon2x or xm3leon3 depending on the XtratuM version. These BSPs para-virtualises the RTEMS services. They includes the interrupt management, clock and timers management. It permits to execute legacy code based on RTEMS without modifications on top of XtratuM. One of the most critical aspects when executing RTEMS on top of a partitioned system is the clock management. RTEMS assumes a periodic interrupt (clock tick) to deal with clock and timers management. The RTEMS runtime is based on this clock tick. In a partitioned system, there are some time intervals in which the RTEMS partition is not under execution and, as consequence, clock ticks are not updated. When the partition is scheduled again, it has to consider this behavior. It involves the accummulation of ticks at the begin of the slot.

RTEMS supports a variety of open standard application programming interfaces (API) and interface standards such as POSIX and BSD sockets.