Hardware Reference
In-Depth Information
8.4
DEFERRED PREEMPTIONS
According to this method, each task τ i defines a maximum interval of time q i in which
it can execute non-preemptively. Depending on the specific implementation, the non-
preemptive interval can start after the invocation of a system call inserted at the begin-
ning of a non-preemptive region (floating model), or can be triggered by the arrival of
a higher priority task (activation-triggered model).
Under the floating model, preemption is resumed by another system call, inserted at
the end of the region (long at most q i units); whereas, under the activation-triggered
model, preemption is enabled by a timer interrupt after exactly q i units (unless the task
completes earlier).
Since, in both cases, the start times of non-preemptive intervals are assumed to be
unknown a priori, non-preemptive regions cannot be identified off-line, and for the
sake of the analysis, they are considered to occur at the worst possible time (in the
sense of schedulability).
For example, considering the same task set of Table 8.1, assigning q 2 =2and q 3 =1,
the schedule produced by Deadline Monotonic with deferred preemptions is feasi-
ble, as illustrated in Figure 8.11. Dark regions represent intervals executed in non-
preemptive mode, triggered by the arrival of higher priority tasks.
1
τ 1
3
τ 2
6
τ 3
0
2
4
6
8
10
12
14
16
18
20
Figure 8.11 Schedule produced by Deadline Monotonic with deferred preemptions for
the task set reported in Table 8.1, with q 2 =2
and q 3 =1
.
 
Search WWH ::




Custom Search