Training
×

What is Real-Time

There are many definitions of real-time, but all agree that it means a deterministic reaction to some event, no matter when the event occurs. In terms of an operating system, this means that the OS never disables interrupts for longer than a given, well-defined time. Also, any (non-blocking) OS function will always complete within a guaranteed time. In some cases, real-timeliness may cost performance, as in the case of memory allocation and freeing: a very fast algorithm may not provide the required determinism and can therefore not be used. An application has RT requirements when it should always react to some event within a bounded time; next to using a proper RTOS, this also requires that the application behaves in a deterministic way; in other words, to get real-time behavior in an application, an RTOS is required, but is not enough by itself.
Although real-time by itself does not say anything about speed, usually there is some performance requirement as well; but note the difference between the two factors:
 when a system provides the required real-time functionality but is not fast enough, usually a faster CPU solves the problem
 when real-timeliness is lacking, this cannot be corrected by using a faster CPU.