Note that these three criteria do overlap in a certain respect and could be reduced to a single one, that being to guarantee worst case timing variance of a specific event class, but that's not what I would call a self-explanatory definition. A hard realtime system naturally also will provide high-resolution timers andappropriate alarm/sheduling functions.
RTLinux (and a non-POSIX derivative of it, RTAI) fall into the class of hard-realtime Linux variants (if you know of any others let me know). These are based on three principles (that are covered by US Patent 5,995,745)
By providing communication mechanisms that allow data exchange between RT and non-RT tasks via shared memory RT-FIFO and POSIX signals, as well as extending RT-execution to allow for user-space realtime in RTLinuxpro, a full integration of demanding realtime tasks into an embedded Linux based system is achievable. This extends the RTOS to include the full feature of GNU/Linux without limits.
A featur that is available in the latest versions of RTLinuxpro is to reserve a minimum CPU time for non-real-time (that is Linux) to ensure that no rt-task can actually monopolize the systems resources and thus de-facto crash the system (that is it will not crash it will only freez if a rt-tasks uses 100% of the CPU time continuously - for all practical purposes and from a user perspective the box is rock solid locked). The ability to reserve CPU time for Linux is relevant for systems that need to report such errornous behavior and may not simply fail silently.