Course Highlights
  • A beginning practitioner's understanding of rate monotonic theory, analysis, and practices for embedded systeems.
  • Implementation of real-time services as POSIX threads.
  • Difference between Linux user space and kernel space.
Curriculum

22 Topics
Course Introduction
Predictable response software
Simple Linux real-time services compared to non-real-time - introduction
Simple Linux real-time services compared to non-real-time - conclusion
Introduction to Scheduling Theory for Real-Time Systems
RM Optimal Priority Policy and Service Request and Response Timeline
Timing Analysis - Rate Monotonic Priority Assignment Policy By Example
Challenges with Linux User and Kernel Space Real-Time Applications
EXTRA HELP: Home Lab Set Up
EXTRA HELP: Code Walkthroughs and Demonstrations
Scan and Question RTES Terminology
EXTRA HELP: Code Walkthroughs and Demonstrations
EXTRA HELP: Code Walkthroughs and Demonstrations
Re-Read Recite and Review RTES Terminology we Used
Scheduling policies
Services
Module 1 | POSIX Threads and Linux Systems
Basic Concepts and Terminology
Assignment 1 : Hello World ! - Simple thread Creation
Assignment-2 :Multiple Threads
Basic and Multi-Threaded Code Review
Introduce Yourself

16 Topics
Code Demonstration: SMP compared to AMP
Code Walkthrough: Starter code for AMP using thread affinity
Real-Time Scheduling Utility Curves
Code Walkthrough: RT Clock
Review of absolute time and date standards and resources
Rate Monotonic Scheduling Analysis by Worst Case Inspection
Rate Monotonic Scheduling - Feasibility vs. Safety and Exceeding the RM LUB
Scan and Question Original paper on Rate Monotonic theory (Liu & Layland)
Optional reading on Linux NPTL and SCHED_DEADLINE
Re-Read Recite and Review RTES Terminology we Used
Real time Utility curves
Rate Monotonic Scheduling
Module 2 | Real-Time Systems Analysis Harmonic Services and RMA Scheduling Policy
Assignment 3 : Implementing Linux real-time threads
Assignment 3 : Implementing Linux real-time threads
CPU Core Affinity and RT Clock Code Review

18 Topics
Priority Preemptive Scheduler State Machine For Linux and VxWorks
Service Code Structure driven by Interrupts
Summary of Key Points and Liu & Layland RMA Uses and Limitations
More Details on Liu and Layland RMA Limitations and Work-arounds
Code Walkthrough: POSIX Software Interval Timer Example
Code Walkthrough: Generic Sequencing using an Interval Timer
Comparison of Cyclic Executive RTOS and Linux RT Service Implementation
Introduction to Worst Case Analysis hand diagramming of RM schedules
Worst Case Analysis schedule where RM fails (above the LUB)
Example where RM succeeds above the LUB for a harmonic service set
Example of scheduling above the LUB at 100% utility that is feasible
Analysis of a harmonic service schedule by hand diagramming for RM and RR
Introduction to Cheddar RMA Tool
Re-Read Recite and Review RTES Terminology we Used
Real-Time Scheduling and Service Requests
Module 3 | Review and Basic Timing Analysis by Hand and with Cheddar
Practice Using Generic Sequencer to Create Scenario
Using Cheddar to Check Hand Analysis of Schedules

12 Topics
Introduction - ARM M-Series R-Series and A-Series
Overview of Single Board Computers used for Real-Time Education
Using Linux for this Course - Rationale and Observations
Code Demonstration: Thread Gridding Concepts for Multi-Core
Space Shuttle Multi-Frequency Executive Architecture
Re-Read Recite and Review RTES Terminology we Used
AMP/SMP and Co-Processors
Module 4 | Gear up for the Final Exam!
Assignment 4 :Pthreads with CPU core affinity in Linux to Emulate AMP
Real-Time Architecture and Configuration for Applications
Assignment 4 :Pthreads with CPU core affinity in Linux to Emulate AMP
Using Multiple Cores with Threads to Speed-up Processing

  Write a Review

Real-Time Embedded Systems Concepts and Practices

Go to Free Course