Xenomai is a real-time subsystem that can be tightly integrated with the Linux kernel to guarantee predictable response times to applications. Its current incarnation is based on a dual kernel approach, with a small co-kernel running side-by-side with Linux on the same hardware. Xenomai supports the running of real-time programs in user space with memory management unit (MMU) protection when it is available from the host kernel, just like any regular Linux application. Real-time tasks are exclusively controlled by the co-kernel during the course of their time-critical operations so that very low latencies are achieved for their code running inside a standard Linux kernel.
Xenomai was created in 2001 to facilitate the migration of industrial applications coming from the proprietary world to a GNU/Linux-based environment, while keeping stringent real-time guarantees. To allow porting traditional RTOS APIs to Linux-based real-time frameworks, the Xenomai core provides generic building blocks for implementing real-time APIs, also known as skins. This way, a skin can mimic proprietary/in-house APIs efficiently, based on reusable objects supplied by the real-time framework.
The Xenomai core running in kernel space is offered under the GPL 2. User space interface libraries are released under the LGPL 2.1.
Today, it runs over several architectures (PowerPC32 and PowerPC64, Blackfin, ARM, x86, x86_64, and ia64) in a variety of embedded and server platforms, ...