Real-Time
In computing, the term "real-time" describes systems where the correctness of an operation depends not only on its logical result, but also on the time at which the result is produced. These systems must respond to inputs or events within a specific, strictly defined time frame or deadline, often measured in milliseconds or microseconds. The key characteristic is predictability and guaranteed response times, not just speed. A system that is generally fast but occasionally has unpredictable delays is not considered a true real-time system.
Types of Real-Time Systems
Real-time systems are typically categorized based on the consequences of missing a deadline:
Hard Real-Time Systems: Missing a deadline is a total system failure and can lead to catastrophic results, such as loss of life or severe physical damage. These systems offer strict, deterministic guarantees that tasks will complete within their time constraints.
Firm Real-Time Systems: Infrequent deadline misses are tolerable, but the resulting output becomes useless after its deadline. The system may degrade in quality of service, but total failure does not occur from a single missed deadline.
Key Concepts
Deterministic Performance: The ability of a system to consistently perform a task within a measurable and predictable time frame, regardless of the system load.
Latency: The time delay between the occurrence of an event (input) and the system's response (output).
Real-Time Operating System (RTOS): A specialized operating system designed specifically to prioritize and manage tasks with strict time constraints, ensuring minimal and consistent latency.
In essence, "real-time" computing is about timeliness and reliability in the time domain, enabling computers to interact with physical processes or live events effectively and safely.