You are on page 1of 14

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.

You might also like