Hardware Reference
In-Depth Information
8
LIMITED PREEMPTIVE
SCHEDULING
8.1
INTRODUCTION
The question whether preemptive systems are better than non-preemptive systems has
been debated for a long time, but only partial answers have been provided in the real-
time literature and some issues still remain open to discussion. In fact, each approach
has advantages and disadvantages, and no one dominates the other when both pre-
dictability and efficiency have to be taken into account in the system design. This
chapter presents and compares some existing approaches for reducing preemptions
and describes an efficient method for minimizing preemption costs by removing un-
necessary preemptions while preserving system schedulability.
Preemption is a key factor in real-time scheduling algorithms, since it allows the op-
erating system to immediately allocate the processor to incoming tasks with higher
priority. In fully preemptive systems, the running task can be interrupted at any time
by another task with higher priority, and be resumed to continue when all higher pri-
ority tasks have completed. In other systems, preemption may be disabled for certain
intervals of time during the execution of critical operations (e.g., interrupt service rou-
tines, critical sections, and so on.). In other situations, preemption can be completely
forbidden to avoid unpredictable interference among tasks and achieve a higher degree
of predictability (although higher blocking times).
The question to enable or disable preemption during task execution has been inves-
tigated by many authors with several points of view and it has not a trivial answer.
A general disadvantage of the non-preemptive discipline is that it introduces an ad-
ditional blocking factor in higher priority tasks, thus reducing schedulability. On the
other hand, however, there are several advantages to be considered when adopting a
non-preemptive scheduler.
Search WWH ::




Custom Search