"There are two main approaches to real-time systems: "soft" real-time and "hard" real-time.
"Soft real-time computing provides a guarantee of a specific level of CPU bandwidth in a specific unit of time. For example, an application that needs 10 milliseconds of CPU bandwidth and must have that requirement met within 100 milliseconds has a soft real-time requirement. This is often where a general-purpose operating system such as Linux is used.
"Hard real-time computing looks at the response time rather than at a bandwidth guarantee, when an application must respond to an event within a specific time. An example would include responding to a periodic interrupt where the worst-case response time must be less than the interrupt time so that no interrupt events are lost."