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