Real-time computing is a concept in computer[1] science where system operations are based on certain time constraints, often mirroring the speed of real-world processes. Originating from early simulation work, the term ‘real-time’ now applies to a wide array of applications like car engine controls, medical systems, telecommunications, and industrial automation. The fundamental criteria for such systems include both logical correctness and timeliness of operation. Deadlines in real-time computing could be hard, firm or soft, each having different implications on system performance if missed. Real-time systems are designed to respond within milliseconds or microseconds, ensuring swift and efficient processing. These systems can employ a variety of design methods, including MASCOT, HOOD, and Real-Time UML, among others. Real-time computing is distinct from high-performance computing, focusing more on timely responses than on maximizing computational power.
This article includes a list of general references, but it lacks sufficient corresponding inline citations. (April 2014) |
Real-time computing (RTC) is the computer science term for hardware and software systems subject to a "real-time constraint", for example from event to system response. Real-time programs must guarantee response within specified time constraints, often referred to as "deadlines".
The term "real-time" is also used in simulation to mean that the simulation's clock runs at the same speed as a real clock.
Real-time responses are often understood to be in the order of milliseconds, and sometimes microseconds. A system not specified as operating in real time cannot usually guarantee a response within any timeframe, although typical or expected response times may be given. Real-time processing fails if not completed within a specified deadline relative to an event; deadlines must always be met, regardless of system load.
A real-time system has been described as one which "controls an environment by receiving data, processing them, and returning the results sufficiently quickly to affect the environment at that time". The term "real-time" is used in process control and enterprise systems to mean "without significant delay".
Real-time software may use one or more of the following: synchronous programming languages, real-time operating systems (RTOSes), and real-time networks, each of which provide essential frameworks on which to build a real-time software application.
Systems used for many safety-critical applications must be real-time, such as for control of fly-by-wire aircraft, or anti-lock brakes, both of which demand immediate and accurate mechanical response.