Real-time computing is a class of computing in which the correctness of the system depends not only on the logical result of a computation but also on the time at which that result is produced. A general-purpose program is judged by whether it eventually returns the right answer; a real-time program is judged by whether it returns the right answer before a deadline. An anti-lock braking computer that computes the correct brake pressure a few milliseconds too late has failed just as surely as one that computed the wrong value. This timing constraint is the defining characteristic of the embedded and control software that runs vehicles, industrial controllers, medical devices, and avionics.
The foundational treatment of timing constraints in computing is C. L. Liu and James W. Layland’s 1973 paper “Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment,” published in the Journal of the ACM. The paper opens by framing the problem of scheduling a set of recurring tasks so that each one completes within its required time, and it studies the conditions under which a processor can guarantee that every task meets its deadline. That question — can we prove, in advance, that every deadline will always be met — is the central question of the entire field.
Because the answer must hold for every execution and not just the typical case, real-time systems are built for predictability rather than raw average speed. A processor that is usually fast but occasionally stalls is worse, for a hard deadline, than one that is slower but always consistent. This is why real-time software favors fixed-priority scheduling, bounded loops, and avoidance of mechanisms whose timing is hard to predict.
Real-time behavior is typically delivered by a real-time operating system, whose scheduler is engineered around timing guarantees. The FreeRTOS kernel documentation describes its scheduler as designed “to provide deterministic real-time behavior,” allowing tasks to be assigned strict priorities so that “the highest priority task that is able to execute is given processing time.” That single design choice — always run the most urgent ready task — is the practical embodiment of the theory Liu and Layland set out.
Real-time computing should not be confused with “fast” computing. A real-time system may have generous deadlines measured in seconds; what makes it real-time is that the deadline is a hard requirement of correctness, not a performance nicety. The discipline exists precisely because, in the physical systems these computers control, being late is a kind of being wrong.