You are on page 1of 7

TASK SCHEDULING IN

MULTIPROCESSOR REAL-TIME SYSTEMS

Eng. Roain AL-Roainy

L3 2021
Is an important component of
resource management in
uniprocessor and multiprocessor
What is real-time systems. To determine
when and on which processor a
Scheduling
given task executes.

Meeting deadlines and achieving high resource utilization are the


two main goals of task scheduling in real-time systems.
Preemptive
Though in most cases the scheduling
problem is easier to handle if tasks are
preemptable.
What is
preemptive Non-preemptive
Scheduling Non-preemptive scheduling is
computationally more difficult than
preemptive scheduling.

A preemptive algorithm always has a higher schedulability than its


non-preemptive version.
– It allows for shorter response time

Why of high priority tasks.

preemptive – As a result it is likely to allow for a


scheduling higher utilisation of the processor
is good before the system starts missing
deadlines.
– It leads to more task switches then
necessary.
– The overheads of task switches are
Why non-trivial
– The system becomes harder to
preemptive
analyse whether it is able to meet all
scheduling its deadlines
is bad – Preemption delay (cache) becomes
more expensive with modern
processors
In the priority-driven preemptive scheduling

Why approach, each task is assigned a priority


related to the timing constraints associated
with the task. This priority assignment can
Priority
be either static or dynamic. This priority
Driven assignment policy has the advantage, for
Preemptive periodic tasks, of imposing schedulability
bounds on processor utilization by the
Scheduling
tasks.
The priority-driven scheduler is usually
preemptive. A priority-driven preemptive

Why scheduler always executes the highest-


priority task first. While the scheduler is
Priority executing a task, if a new task arrives
whose priority is higher than the currently
Driven executing task or the priority of a waiting
Preemptive task becomes greater than that of the
Scheduling current task, the new highest-priority task
preempts the current task, which is
interrupted.

You might also like