Week 7 - Real-Time Scheduling Algorithms
Interactive Audio Lesson
Listen to a student-teacher conversation explaining the topic in a relatable way.
Defining Real-Time Systems
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Let's start by defining what a real-time system is. A real-time system not only requires a correct output but also requires that output to be produced within certain time constraints known as deadlines.
So if a system doesn't meet its deadlines, it could fail? What's the difference between hard, firm, and soft real-time systems?
Great question! Hard real-time systems cannot miss a deadline without catastrophic outcomes, whereas firm systems can tolerate occasional misses without total failure. Soft systems can handle misses but with some performance degradation.
Can you give us examples of each?
Certainly! Hard examples include flight control systems. Firm examples include network routers, while soft examples are web browsers.
In summary, understanding the criticality of deadlines is key to defining real-time systems.
Core Concepts in Real-Time Scheduling
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Now let's delve into core concepts. Key terms include task, execution time, and deadlines. A task is a unit of work; the execution time is the time required to complete that task, and a deadline is crucial β it's when the task must be finished.
Whatβs the difference between absolute and relative deadlines?
An absolute deadline is a specific point in time when a task must finish, while a relative deadline is the interval from the release to the deadline.
How does preemption fit into this?
Preemption allows a higher-priority task to interrupt a lower-priority one, ensuring responsiveness. Remember, in real-time systems, timely execution is often more important than merely completing tasks.
To recap, familiarizing ourselves with these terms will aid our understanding as we develop real-time scheduling algorithms.
Goals of Real-Time Scheduling
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
The next step is understanding the primary goals of real-time scheduling. The three main goals are schedulability, resource utilization, and predictability.
What does schedulability mean?
Schedulability ensures that all tasks can meet their deadlines under all specified conditions, essential for system reliability.
And resource utilization?
It's about efficiently using system resources to avoid overloading, thus maintaining performance to meet deadlines.
Predictability sounds vital too.
Absolutely! Predictability involves consistent execution times, aiming to reduce jitter and sudden delays. Keeping these goals in mind is crucial when drafting algorithms.
In summary, success in real-time scheduling hinges on satisfying these primary goals.
Real-Time Task Models
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Letβs move on to task models. We categorize real-time tasks primarily into periodic, aperiodic, and sporadic tasks.
What defines periodic tasks?
Periodic tasks are those released at fixed intervals, like a sensor reading every 100 milliseconds.
What about aperiodic tasks?
Aperiodic tasks arrive at irregular times, like a user pressing a button. They're unpredictable.
And sporadic tasks?
Sporadic tasks have a minimum interval between arrivals. An example could be an emergency stop button pressed at irregular intervals but with certain timing constraints.
In summary, recognizing these task models greatly influences how we approach scheduling and algorithm selection.
Scheduling Paradigms
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Scheduling paradigms can be broken down into static vs. dynamic, clock-driven vs. event-driven, and preemptive vs. non-preemptive scheduling, each with its advantages and disadvantages.
Can you explain static vs. dynamic scheduling?
Static scheduling fixes all tasks at design time, while dynamic scheduling decides at runtime based on system state.
What about clock-driven and event-driven?
Clock-driven schedules at predetermined times, while event-driven schedules react to events in the system.
How does preemptive scheduling differ from non-preemptive?
In preemptive scheduling, higher priority tasks can interrupt others. In non-preemptive, a running task must complete before a higher priority can take over.
To wrap up, scheduling paradigms provide different strategies to ensure tasks are managed efficiently.
Introduction & Overview
Read summaries of the section's main ideas at different levels of detail.
Quick Overview
Standard
In this section, learners will understand the principles and challenges of real-time scheduling algorithms. Key topics include definitions of real-time systems, task models (periodic, aperiodic, sporadic), scheduling paradigms, and prominent algorithms such as Rate Monotonic and Earliest Deadline First, along with issues such as priority inversion.
Detailed
Detailed Summary of Real-Time Scheduling Algorithms
This module provides a comprehensive examination of real-time scheduling algorithms essential for the functioning of embedded systems. Real-time systems are those where correctness depends not only on the output but also on the time of output.
1. Real-Time System Types
Real-time systems are divided into three types:
- Hard Real-Time Systems: Missing a deadline results in catastrophic failure.
- Firm Real-Time Systems: Missing a deadline does not cause total failure but degrades quality.
- Soft Real-Time Systems: Missing a deadline is undesirable but does not severely impact overall functionality.
2. Core Concepts
Understanding real-time scheduling involves familiarizing oneself with key concepts:
- Task, release time, execution time, deadline, period, response time, latency, jitter, preemption, and context switching.
3. Goals of Real-Time Scheduling
The primary goals of real-time scheduling algorithms are:
- Schedulability, ensuring all tasks meet deadlines.
- Resource Utilization, efficiently using available resources.
- Predictability, minimizing jitter and delays.
4. Task Models
Real-time tasks can be periodic, aperiodic, or sporadic, which dictate the scheduling techniques used.
- Periodic tasks are released at fixed intervals.
- Aperiodic tasks arrive at unpredictable intervals.
- Sporadic tasks have a minimum inter-arrival time.
5. Scheduling Paradigms
Scheduling algorithms can be categorized into:
- Static vs. Dynamic Scheduling: Static scheduling is fixed at design time; dynamic scheduling adapts at runtime.
- Clock-Driven vs. Event-Driven: Clock-driven schedules at specific time intervals; event-driven schedules on events.
- Preemptive vs. Non-preemptive: Preemptive allows higher-priority tasks to interrupt lower ones, while non-preemptive does not.
6. Key Algorithms
Fixed-Priority: Rate Monotonic (RM)
- Optimal for static systems, assigning priorities based on task periods.
Dynamic-Priority: Earliest Deadline First (EDF)
- Prioritizes tasks with the nearest deadlines, achieving high fairness but with higher overhead.
7. Handling Aperiodic and Sporadic Tasks
Different server-based approaches like polling, deferrable, and sporadic servers allow integration without compromising periodic tasks' schedulability.
8. Priority Inversion
Discusses the challenge of priority inversion and solutions like the Priority Inheritance Protocol (PIP) and Priority Ceiling Protocol (PCP) to ensure higher-priority tasks are not blocked by lower-priority ones.
9. Multiprocessor Real-Time Scheduling
Lastly, it introduces the complexities of scheduling in multiprocessor systems, with methods such as partitioned and global scheduling strategies.
Audio Book
Dive deep into the subject with an immersive audiobook experience.
Module Objective
Chapter 1 of 8
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
Upon the successful completion of this module, learners will gain a
comprehensive and practical understanding of the fundamental principles, taxonomies, and
critical algorithms employed in real-time scheduling for embedded systems.
Detailed Explanation
This module aims to equip students with a firm grasp of real-time scheduling algorithms used in embedded systems. The focus is on understanding the theory behind these algorithms, recognizing the types of real-time systems, and comprehending how that theory translates into practical applications. By the end of the module, learners should be able to apply principles and algorithms to ensure that critical tasks in embedded systems are completed accurately and on time.
Examples & Analogies
Imagine a chef who uses a time-sensitive recipe to prepare a meal. The chef must manage their time efficiently to ensure each ingredient is added at the right moment. Similarly, this module teaches the importance of timing in computing systems to ensure tasks are completed correctly and timely.
Fundamentals of Real-Time Systems and Scheduling
Chapter 2 of 8
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
This section lays the groundwork by defining what makes a system "real-time" and
introducing the essential terminology and goals of real-time scheduling.
Detailed Explanation
This section introduces the basic concepts of real-time systems, emphasizing that these systems require specific responses within strict time constraints, known as deadlines. An understanding of key terms like task, release time, execution time, and deadlines is crucial for grasping the principles of real-time scheduling. Additionally, it highlights the difference between various real-time system types based on how critical meeting deadlines is for those systems.
Examples & Analogies
Think of a fire alarm system: it must react within a set time to ensure safety. If it doesn't function on time, it could lead to disastrous consequences. Understanding how real-time systems operate helps ensure that critical systems respond when they should.
Defining Real-Time Systems and Their Types
Chapter 3 of 8
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
A real-time system is characterized by the requirement that its correctness depends
not only on the logical result of its computation but also on the time at which the
result is produced. The system must respond to events or perform actions within
specified, strict time constraints, known as deadlines. Failure to meet a deadline can
range from a minor inconvenience to a catastrophic failure, depending on the system
type.
Real-time systems are typically classified into three main categories based on the
criticality of their deadlines:
- Hard Real-Time Systems:
- Definition: Missing a deadline is absolutely unacceptable and constitutes a
system failure, potentially leading to catastrophic consequences (e.g., loss of life, severe environmental damage, massive financial loss). - Characteristics: Requires strict deterministic behavior. Schedulability
must be mathematically proven offline. Jitter (variation in task completion time) must be minimized. - Examples: Flight control systems, medical life-support equipment, automotive engine control, nuclear power plant control, industrial robotics.
- Firm Real-Time Systems:
- Definition: Missing a deadline is undesirable, leading to a degradation in quality of service or performance, but does not result in total system failure. The results of computations delivered after their deadlines may have no value.
- Characteristics: Tolerates occasional deadline misses, but frequent misses are not acceptable.
- Examples: Network routers, multimedia streaming, video conferencing, online gaming.
- Soft Real-Time Systems:
- Definition: Missing a deadline is undesirable but tolerable, causing a degraded but still acceptable performance. The value of a computation decreases after its deadline but may still be useful.
- Characteristics: Prioritizes average performance or throughput over strict determinism.
- Examples: Web browsers, ATM transactions, general-purpose operating systems with multimedia extensions.
Detailed Explanation
Real-time systems are distinguished by their need to produce results not just correctly but within specific time constraints. The three primary types of real-time systemsβhard, firm, and softβreflect how critical it is to meet deadlines. Hard real-time systems demand absolute adherence to deadlines with catastrophic consequences if missed. Firm systems allow for occasional misses without total failure, while soft systems tolerate missed deadlines but prefer performance within time bounds. Understanding these types helps determine how to design systems that handle time-sensitive information effectively.
Examples & Analogies
Consider a hospital's heart monitor, which is a hard real-time system. If the monitor fails to alert staff in time during a patient's emergency, the outcomes could be fatal. In contrast, a streaming service's video playback is soft real-time; slight delays might lead to buffer issues but won't cause irreparable harm. This distinction helps developers prioritize system requirements based on application needs.
Core Concepts in Real-Time Scheduling
Chapter 4 of 8
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
To understand scheduling, several key terms are essential:
- Task (or Job): A unit of work that needs to be executed by the processor. In
real-time systems, an application is often broken down into multiple tasks. - Release Time (r): The instant in time when a task becomes ready for
execution. For periodic tasks, this is its arrival time. - Execution Time (C): The maximum amount of processor time required to
complete a task's computation without interruption. This is often the
Worst-Case Execution Time (WCET). - Deadline (D): The time by which a task must complete its execution.
- Absolute Deadline: The actual calendar time by which a task must
finish (e.g., "finish by 10:30:00 AM"). - Relative Deadline: The time interval from the task's release time to its
absolute deadline (e.g., "finish within 100 milliseconds of being
released"). - Period (T): For periodic tasks, the fixed time interval between consecutive
releases of the same task. - Response Time (R): The time elapsed from a task's release time to its
completion time. For a task to be schedulable, its response time must be less
than or equal to its deadline (Rβ€D). - Latency: The delay between an event and the system's response to that
event. - Jitter: The variation in the completion time or response time of a periodic
task. Minimizing jitter is crucial for many control applications. - Preemption: The ability of a higher-priority task to interrupt a lower-priority
task that is currently executing, take control of the processor, and execute
itself. When the higher-priority task finishes or blocks, the interrupted task can
resume from where it left off. Most real-time systems rely on preemption for
responsiveness. - Context Switching: The process of saving the current state (CPU registers,
program counter, stack pointer, etc.) of a running task and loading the state of
a new task when the scheduler decides to switch execution from one task to
another. This incurs an overhead in terms of CPU cycles.
Detailed Explanation
This chunk elaborates on critical terms that clarify how real-time scheduling operates. A 'task' is the basic unit of work, while 'release time' indicates when that work can start. Each task has an 'execution time,' which is its required duration, and a 'deadline,' which is the time by which it must finish. The 'period' indicates how often the task repeats. Understanding the 'response time' ensures that tasks meet their deadlines without delays. Concepts like 'latency' and 'jitter' are essential for timing predictability, while 'preemption' and βcontext switchingβ are critical for managing which task runs at any given time, especially in systems with multiple tasks of varying priority.
Examples & Analogies
Consider a concert where musicians (tasks) must start playing (release time) at specific points. Each musician has a set time to play (execution time) and must complete their piece by a specific moment (deadline). If any musician is delayed (jitter), it can throw off the entire performance. Understanding these dynamics helps ensure that a concert (or a real-time system) runs smoothly.
Goals of Real-Time Scheduling
Chapter 5 of 8
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
The primary goals of any real-time scheduling algorithm are:
- Schedulability: The most critical goal. To guarantee that all tasks will meet
their deadlines under all specified operating conditions. This is often proven
through a schedulability analysis. - Resource Utilization: Efficiently using the available processor (CPU) and
other system resources without causing deadline misses. Aiming for high
utilization while maintaining schedulability is often desired. - Predictability: Ensuring that task execution times and response times are
consistent and within expected bounds, minimizing jitter and unexpected
delays. - Fairness (Secondary): While important in general-purpose systems, fairness
is often secondary to schedulability in real-time systems. Higher-priority tasks
will inherently get more CPU time.
Detailed Explanation
This chunk outlines the main objectives behind real-time scheduling algorithms. Schedulability is paramount, focusing on ensuring that every task meets its deadlines. Resource utilization emphasizes using the CPU and other system resources effectively without failing any deadlines. Predictability focuses on keeping task times consistent, minimizing unexpected delays. While fairness, the equitable distribution of CPU time among all tasks, is important, it typically takes a back seat to the more pressing concern of ensuring all high-priority tasks are completed on time.
Examples & Analogies
Imagine an air traffic control system that must manage multiple planes (tasks) arriving at an airport. The highest priority is ensuring that no plane is delayed beyond its landing window (schedulability). Efficient management of resources (like runways) should keep all planes moving smoothly (resource utilization). Predictability helps controllers know exactly how long each task takes, while fairness is secondary because some planes (higher-priority) need to land first.
Real-Time Task Models
Chapter 6 of 8
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
Real-time tasks exhibit different patterns of arrival and execution. Understanding
these models is fundamental to applying the correct scheduling algorithms and analysis
techniques.
- Periodic Tasks
- Definition: Tasks that are released at regular, fixed time intervals. They are
the most common and well-understood task model in real-time systems. - Parameters: Each periodic task i is characterized by:
- Ci : Worst-Case Execution Time (WCET).
- Ti : Period (the interval between successive releases).
- Di : Relative Deadline (usually, Di β€Ti , often Di =Ti or Di
Detailed Explanation
This chunk discusses the different patterns of task arrivals in real-time systems: periodic, aperiodic, and sporadic tasks. Periodic tasks occur at regular intervals, allowing for predictable scheduling. Aperiodic tasks are irregular and unpredictable, complicating scheduling since their arrival cannot be planned. Sporadic tasks, although unpredictable, have a minimum frequency, allowing them to be treated like periodic tasks under certain conditions. Recognizing these distinctions is essential for choosing appropriate scheduling strategies and ensuring timely task execution.
Examples & Analogies
Imagine a school bell system: it rings at regular intervals (periodic tasks). Then, students also occasionally come in late (aperiodic tasks) but arenβt predictable in arrival. Lastly, think of emergency fire alarms that are intended to be rare but must go off quickly if activated (sporadic tasks). Each of these task types represents unique scheduling challenges in managing events and responses effectively.
Real-Time Scheduling Paradigms
Chapter 7 of 8
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
Scheduling algorithms can be broadly categorized based on several key characteristics,
defining their operational philosophy.
- Static (Offline) vs. Dynamic (Online) Scheduling:
- Static (Offline) Scheduling:
- Concept: The entire schedule for all tasks is computed and fixed beforehand,
at design time, based on prior knowledge of all task parameters (periods, execution times, deadlines). The schedule is often stored in a table (e.g., a time table) and executed by a simple dispatcher at runtime. - Advantages: Low runtime overhead, high predictability; suitable for very simple or resource-constrained systems, guarantees schedulability if the pre-computed schedule is valid.
- Disadvantages: Inflexible to changes in the environment or task parameters. Cannot easily handle aperiodic events without specific mechanisms. Requires complete knowledge of all tasks upfront.
- Example: Clock-driven scheduling systems often use a static approach.
- Concept: The entire schedule for all tasks is computed and fixed beforehand,
-
Dynamic (Online) Scheduling:
- Concept: The scheduling decisions (which task to run next) are made at runtime, based on the current state of the system and the ready tasks. Priorities might change dynamically based on certain task properties.
- Advantages: Flexible, can adapt to changing workloads, handles aperiodic events more naturally.
- Disadvantages: Higher runtime overhead (due to priority recalculations, context switching), can be harder to predict worst-case behavior.
- Example: Earliest Deadline First (EDF), Least Laxity First (LLF).
- Clock-Driven vs. Event-Driven Scheduling:
- Clock-Driven (Time-Triggered) Scheduling:
- Concept: Scheduling decisions are made at predefined time instants, usually dictated by a global timer (a "clock tick"). Tasks are typically periodic, and their execution times are synchronized with these ticks.
- Characteristics: Static scheduling. High predictability. All task parameters must be known.
- Example: Often used in safety-critical systems like avionics.
-
Event-Driven Scheduling:
- Concept: Scheduling decisions are made only when specific events occur in the system. These events can be task releases, task completions, or external interrupts. The scheduler is invoked in response to these events.
- Characteristics: Dynamic scheduling. More responsive to unpredictable events.
- Example: Rate Monotonic (RM), Earliest Deadline First (EDF).
- Preemptive vs. Non-preemptive Scheduling:
- Preemptive Scheduling:
- Concept: A currently executing task can be interrupted (pre-empted) by a higher-priority task that becomes ready. The interrupted task's state is saved, and it can resume later from where it left off.
- Advantages: Ensures that higher-priority tasks meet their deadlines quickly, leading to better responsiveness. Most modern RTOS kernels support preemption.
- Disadvantages: Introduces context switching overhead. Requires careful management of shared resources to avoid priority inversion.
- Non-preemptive Scheduling:
- Concept: Once a task begins execution, it runs to completion without interruption, even if a higher-priority task becomes ready.
- Advantages: Simpler to implement, no context switching overhead once a task starts, simplifies resource sharing (no critical sections are truly interrupted).
- Disadvantages: High-priority tasks might suffer significant delays waiting for lower-priority tasks to finish, making it unsuitable for systems with tight deadlines or frequent high-priority events. Leads to lower overall responsiveness.
Detailed Explanation
This chunk categorizes scheduling algorithms into broad paradigms that dictate how scheduling decisions are made. Static scheduling involves calculating a fixed schedule ahead of time, which is efficient but inflexible. Dynamic scheduling, on the other hand, allows real-time adjustments based on system conditions, accommodating changing workloads. Further distinctions include clock-driven (based on time ticks) versus event-driven (based on system events) scheduling paradigms and preemptive (allowing interruptions) versus non-preemptive strategies, which can affect task efficiency and timely execution.
Examples & Analogies
Think of a theater production: a static schedule is like a script that's finalized before rehearsalsβeveryone knows when to perform, but thereβs no room to adapt if someone forgets their lines. In contrast, dynamic scheduling is akin to improvisational theater, where actors adjust based on what happens on stage. Additionally, preemptive scheduling is like an accommodating director who interrupts when a lead actor is upstaged, ensuring the show runs smoothly, whereas non-preemptive scheduling would keep quiet until the performance ends, possibly allowing awkward moments to linger.
Fixed-Priority Preemptive Scheduling Algorithms
Chapter 8 of 8
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
In fixed-priority scheduling, each task is assigned a priority that remains constant throughout
its execution. The scheduler always chooses the highest-priority ready task to run.
- Rate Monotonic (RM) Scheduling:
- Principle: Tasks are assigned priorities inversely proportional to their periods.
That is, tasks with shorter periods (higher rates) are assigned higher
priorities.- Example: If Task A has a period of 50ms and Task B has a period of
100ms, Task A will be assigned a higher priority than Task B.
- Example: If Task A has a period of 50ms and Task B has a period of
-
Properties:
- Optimality: Rate Monotonic is optimal among all fixed-priority
preemptive scheduling algorithms. This means that if a set of periodic
tasks can be scheduled by any fixed-priority preemptive algorithm, then it can also be scheduled by Rate Monotonic scheduling. If RM cannot schedule the task set, no other fixed-priority preemptive algorithm can. - Static Priorities: Priorities are assigned offline and do not change during
runtime. - Preemptive: A higher-priority task can interrupt a lower-priority task.
- Optimality: Rate Monotonic is optimal among all fixed-priority
- Challenges and Limitations of Rate Monotonic:
- Sub-optimal for Non-Preemptive: RM's optimality applies only to
preemptive scheduling. - Priority Inversion: A major challenge when tasks share resources. If
a high-priority task needs a resource currently held by a lower-priority
task, the high-priority task might get blocked, leading to priority inversion. - Aperiodic Task Handling: RM is primarily designed for periodic tasks.
Handling aperiodic tasks efficiently within an RM framework requires
special techniques like servers (e.g., Polling Server, Sporadic Server, Deferrable Server, discussed in Section 7.5).
Detailed Explanation
This section details fixed-priority scheduling and specifically the Rate Monotonic (RM) algorithm. In RM scheduling, tasks are prioritized based on their frequency: those with shorter execution times receive higher priority. This method ensures the most time-sensitive tasks are executed first. However, RM faces challenges such as priority inversion, where a higher-priority task waits for a lower-priority one to release resources, leading to potential deadline misses. Additionally, RM is primarily structured for periodic tasks, complicating the integration of aperiodic tasks.
Examples & Analogies
Think of a busy kitchen: the chef (scheduler) focuses on prepping dishes that take the least time first (higher frequency tasks). However, if a main ingredient for a popular dish (high-priority task) is locked away by a slower cook (lower-priority task), this can hold up key orders. The kitchen must find ways to ensure that popular dishes are completed on time, just as scheduling must address potential difficulties with resources.
Key Concepts
-
Real-Time System: A system that must deliver the correct output within strict time constraints.
-
Task Model: Defines how tasks are classified based on their execution patterns (periodic, aperiodic, sporadic).
-
Preemption: Ability for a high-priority task to interrupt a lower-priority task to meet deadlines efficiently.
-
Rate Monotonic Scheduling: A fixed-priority scheduling algorithm that assigns priorities based on the frequency of task releases.
Examples & Applications
An example of a hard real-time system is a flight control system where any delay can lead to catastrophic outcomes.
In multimedia applications, the RM algorithm might prioritize critical frames to ensure timely display.
Memory Aids
Interactive tools to help you remember key concepts
Rhymes
Hard is total loss, Firm is a service tossed, Soft just makes you cross.
Stories
Imagine a rescue team (hard) that must reach a victim by a certain time to save them. If theyβre late, the outcome is tragic. A kitchen service (firm) can scramble an order but wonβt ruin dinner service if one is late. A movie viewer (soft) might prefer to watch ads in exchange for a free ticket if the movie starts late.
Memory Tools
Remember the acronym RPS: Real-time systems require Prompt responses, Safety in deadlines.
Acronyms
For task models, remember the acronym PAS
Periodic
Aperiodic
Sporadic.
Flash Cards
Glossary
- RealTime System
A system where the correctness depends on the time at which results are produced.
- Hard RealTime System
A system where missing a deadline leads to catastrophic failure.
- Firm RealTime System
A system where missing a deadline is undesirable but does not cause total failure.
- Soft RealTime System
A system where missing a deadline can degrade performance but does not necessarily impact overall functionality.
- Task
A unit of work in a real-time system.
- Preemption
When a higher-priority task interrupts a lower-priority task.
- Utilization
The fraction of CPU time that is required by tasks in a system.
- Jitter
The variation in task completion times.
- Sporadic Task
A type of aperiodic task with a minimum inter-arrival time.
- Rate Monotonic Scheduling
A fixed-priority scheduling algorithm where shorter period tasks have higher priority.
- Earliest Deadline First
A dynamic-priority scheduling algorithm that schedules tasks based on their deadlines.
Reference links
Supplementary resources to enhance your learning experience.