Definition of real-time due to Zhang, P. (2008). Industrial control technology: a handbook for engineers and researchers. William Andrew.
Real-time system means that the system must provide the responses or actions to the stimulus or requests within specific times, which therefore depend not just on what the system does but also on how fast it reacts.
What does hard real-time mean to us: Missing at least one deadline is considered a system failure
Definition of determinism due to Dejan Pangercic (2019). APEX.AI Doing Real-time With ROS 2, Safe and certified software, Capabilities And Challenges:
A deterministic system will always produce the same output when starting conditions and inputs are the same.
Common requirements:
Requirement | Strategy |
---|---|
Application must be memory static at runtime | Runtime allocates the memory before applications are operational |
No memory fragmentation should occur | Memory segments with fixed length for specific data types as well as a automated garbage collection e.g., via reference counting |
Tasks need to have a deterministic | Best online linear processing flows |
Execution of a task needs to be interruptible by a higher priority task | One process one task, clear system related process priorities via OS scheduler |
Lower priority task must not block higher priority ones | At least the I/O should not block the process |