Linux is not a hard real-time operating system as it does not guarantee a task to meet strict deadlines. The kernel can suspend a task when its time slice has completed and it can remain suspended for an arbitrarily long time (for example, when an interrupt is getting serviced). Some of the hard real-time approaches that can be applied to Linux are "Micro-Kernel Approach" and "Nano-Kernel Approach". This document covers a similar approach using Xenomai.