• 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.
Python Machine Learning: Machine Learning Algorithms for Beginners - Data Management and Analytics for Approaching Deep Learning and Neural Networks from Scratch