"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."