Hardware Reference
In-Depth Information
τ
1
τ
2
τ
3
τ
4
τ
5
0
2
4
6
8
10
12
14
16
18
20
(a)
τ
5
is preempted 4 times.
τ
1
τ
2
τ
3
τ
4
τ
5
0
2
4
6
8
10
12
14
16
18
20
(b) Only one preemption is really necessary for
τ
5
.
Figure 8.2
Fully preemptive scheduling can generate several preemptions (a) although
only a few of them are really necessary to guarantee the schedulability of the task set (b).
Task splitting
. According to this approach, investigated by Burns [Bur94], a task
implicitly executes in non-preemptive mode and preemption is allowed only at
predefined locations inside the task code, called
preemption points
. In this way, a
task is divided into a number of non-preemptive chunks (also called subjobs). If
a higher priority task arrives between two preemption points of the running task,
preemption is postponed until the next preemption point. This approach is also
referred to as
Cooperative scheduling
, because tasks cooperate to offer suitable
preemption points to improve schedulability.
Search WWH ::
Custom Search