Basic Concepts Flashcards
What is real-time systems?
A real-time system is a system that reacts to events in the environment by performing predefined actions within specified time intervals.
What the “time” part of real-time means?
The correctness of the system depends not only on the logical result of the computation but also on the time at which the results are produced.
What the “real” part of real-time means?
It indicates that the reaction of the systems to external events must occur during their evolution. As a consequence, the system time (internal time) must be measured using the same time scale used for measuring the time in the controlled environment (external time).
Which are the three real-time tasks categories?
- Hard: if producing the result after deadline may cause catastrophic consequences on the system under control.
- Firm: if producing the result after its deadline is useless for the system, but does not cause any damage.
- Soft: if producing the results after its deadline has still some utility for the system, although causing a performance degradation.
Cite examples of hard real-time tasks.
Safety-critical systems tasks:
- sensory data acquisition;
- data filtering and prediction;
- data fusion and image processing;
- actuator servoing;
- low-level control of critical system components;
- action planning for systems that toghtly interact with the environment.
Cite examples of firm real-time tasks.
Networked applications and multimedia systems tasks:
- video playing;
- audio/video encoding and decoding;
- on-line image processing;
- sensory data transmission in distributed systems.
Cite examples of soft real-time tasks.
Tasks related to system-user interactions:
- the command interpreter of the user interface;
- handling input data from the keyboard;
- displaying messages on screen;
- representation of system state variables;
- graphical activities;
- saving report-data.
The correctness of the result in real-time systems depends on…
value and its time of delivery.
Speed of real-time system depends on…
environment and nature.
When real-time is needed and standard computing can’t attend the demand?
When fast processing, average and performance testing are not enough, and the worst case needs guarantees. Be on time, all the time and proof it.
What are the basic proprieties of real-time systems should have?
Timeliness (result correct in time), predictability (the consequences of systems behavior should be predictable for any scheduling decision), efficiency, robustness, fault-tolerant, maintainability.
Which is the temporal definition of a periodic task?
Temporal definition of periodic tasks:
- Ti = period of task i
- Ri = release time, relative from start of period time at which task i may start to execute
- Di = deadline interval, relative from start of period time at which task i must be completed
- Ci = worst case execution time
Define utilization.
Utilization is a portion of CPU used by the execution of a task set.
Ui = Ci/Ti
Utilization of a task set is the sum of all individual tasks utilization.
What is active task?
It is a task that can potentially execute on the processor independently on its actual availability.
What is a ready task?
Task ready is a task waiting for the processor.
What is a running task?
Running task is a task in execution.
What is preemption?
Preemption is the operation of suspending the running task and inserting it into the ready queue.
What is the importance/advantages of preemption?
- Tasks performing exception handling may need to preempt existing tasks so that responses to exceptions may be issued in timely fashion.
- When tasks have different levels of criticality (expressing task importance), preemption permits executing the most critical tasks as soon as they arrive.
- preempting scheduling typically allows higher efficiency, in the sense that it allows executing a real-time task sets with higher processor utilization.
What are the disadvantages of preemption?
Preemption destroys program locality and introduces a runtime overhead that inflates the execution time of tasks.
What is a feasible schedule?
A schedule is feasible if all tasks can complete meeting their constraints (ex. deadline).
What is a schedulable task set?
A task set is schedulable if there exists at least one algorithm that can produce a feasible schedule.
What is a feasible task set?
It does not exist. There are feasible schedule or scheadulable task set but no feasible task set.
Which is the necessary schedulability condition?
U <=1
If it does not hold, it is not schedulable.
If it holds, it can or cannot be schedulable.
What the Graham Theorem says?
If a task set is optimally scheduled on a multiprocessor with some priority assignment, a fixed number of processors, fixed execution times, and precedence constraints, then increasing the number of processors, reducing execution times, or weakening the precedence constraints can increase the schedule length.