Hardware Reference
In-Depth Information
idle
idle
J 1
J 2
J 3
σ
(t)
3
2
1
t
t 1
t
t
t
2
3
4
Figure 2.2
Schedule obtained by executing three tasks J 1
, J 2
, and J 3
.
At times t 1 , t 2 , t 3 , and t 4 , the processor performs a context switch .
Each interval [ t i ,t i +1 ) in which σ ( t ) is constant is called time slice .
Interval
[ x, y ) identifies all values of t such that x
t<y .
A preemptive schedule is a schedule in which the running task can be arbitrarily
suspended at any time, to assign the CPU to another task according to a pre-
defined scheduling policy.
In preemptive schedules, tasks may be executed in
disjointed interval of times.
A schedule is said to be feasible if all tasks can be completed according to a set
of specified constraints.
A set of tasks is said to be schedulable if there exists at least one algorithm that
can produce a feasible schedule.
An example of preemptive schedule is shown in Figure 2.3.
2.2
TYPES OF TASK CONSTRAINTS
Typical constraints that can be specified on real-time tasks are of three classes: tim-
ing constraints, precedence relations, and mutual exclusion constraints on shared re-
sources.
Search WWH ::




Custom Search