REAL-TIME SYSTEMS -
U20ECE825
UNIT - I
Task Scheduling
Task Scheduling
• Task scheduling is the process of deciding which task to
execute next. The process of allocating processor time, and
tasks to meet their deadlines and maximize system
performance.
• There are a variety of different task scheduling algorithms,
each with its advantages and disadvantages.
• Key challenges: Fairness, predictability, efficiency, and
schedulability (all tasks meeting deadlines).
Classification of Real-Time Task
scheduling
• Clock-driven scheduling
• Scheduling points are defined by interrupts received from a
clock
• Table driven
• cyclic
• Event-driven scheduling
• Scheduling point is determined by certain events
• Simple priority based
• Rate monotonic analysis (RMA)
• Earliest deadline first (EDF)
• Hybrid
• Round robin
Real-Time Scheduling
Algorithms
Fixed Priority Dynamic Priority
Hybrid algorithms
Algorithms Algorithms
Rate Deadline Least
Earliest Maximum
Monotonic Monotonic Laxity
Deadline Urgency First
scheduling scheduling First
First
Clock-Driven Scheduling
• Clock-driven scheduling is a type of task scheduling
algorithm that schedules tasks based on the time of day.
• Tasks are executed at predetermined points in time-based on a
system clock.
• Clock-driven scheduling is simple to implement, but it is not
very efficient.
• Simple and predictable, suitable for periodic tasks.
• Not suitable for aperiodic tasks or tasks with varying execution
times.
Event-Driven Scheduling
• Event-driven scheduling is a type of task scheduling
algorithm that schedules tasks based on the occurrence of
events.
• Tasks are scheduled to execute in response to external events.
• Event-driven scheduling is very efficient, but it can be
difficult to implement.
• Highly responsive to aperiodic events.
• Can be complex to implement and analyze.
Hybrid Schedulers
• Hybrid schedulers are a type of task scheduling algorithm
that combines clock-driven scheduling with event-driven
scheduling.
• Hybrid schedulers are more efficient than clock-driven
schedulers, but they are also more complex to implement.
• Combine clock-driven and event-driven scheduling.
• Clock-driven scheduling for periodic tasks, event-driven scheduling
for aperiodic tasks.
• More complex than pure clock-driven or event-driven but offers
increased flexibility.