Real-Time Embedded Systems (Scheduling) Flashcards
What is a real-time system?
- information processing activity which has to respond to externally generated input stimuli within a specified period otherwise risks severe consequences, including failure
How is the correctness of a real-time system based on?
- correctness of outputs
- timeliness
Difference soft and hard deadline?
- hard: when not meeting deadline, results in a catastrophe
- soft: any other deadline (does not cause harm when not met)
What is a reactive system?
- continuous interaction with the environment (as opposed to information processing)
What is a safety-critical system?
- a failure may cause injury, loss of lives, significant financial loss
What is an embedded system?
- computer system encapsulated in its environment
- combination of hardware and software
- dedicated to a specific purpose
When designing a digital process controller the sampling time T plays an important role. Elaborate on the size of T.
- smaller T approximates analogue behavior better
- but smaller T requires more processor-time and better ADC hardware
- hardware must guarantee that all conversions and processing is possible in time T
Approaches: Real time vs. best effort?
- best effort = low average time
- real time = predictability, bounded worst case time
What is the Worst-Case-Execution-Time (WCET)?
Upper bounds of execution times of all tasks (must be known at compile time)
Define Predictability
- Correctness of prediction of system’s state
- one of most important requirements of ES
- in modern processors harder to achieve (caches, pipelines, branch prediction, interrupt handling, priority inversion of tasks..)
When is a schedule said to be feasible?
- if all tasks can be completed according to a set of specified constraints (ie. deadlines)
When is a set of tasks said to be schedulable?
- if there exists at least one feasible schedule
Define Release-time and Execution-time of tasks
- Release-time: time at which task becomes ready for execution
- execution-time: time necessary for executing task without interruption (in real-time systems only WCET matters)
What is slack-time?
- maximum time a task can be delayed on its activation to complete within its deadline
- slack time = deadline - release time - execution time
What is lateness?
- represents delay of task completion with respect to its deadline
- if task completes before deadline, lateness is negative
- lateness = finishing time - deadline