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?
Cite examples of hard real-time tasks.
Safety-critical systems tasks:
Cite examples of firm real-time tasks.
Networked applications and multimedia systems tasks:
Cite examples of soft real-time tasks.
Tasks related to system-user interactions:
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:
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?
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.