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