About this Course

14,299 recent views
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Flexible deadlines
Reset deadlines in accordance to your schedule.
Advanced Level

C programming skills, some prior experience with an operating system, and prior embedded hardware experience is a plus.

Approx. 60 hours to complete
English

What you will learn

  • Methods to analyze dynamic prioirty real-time service feasibility

  • Methods to control unbounded priority inversion problems

  • Avoiding and recovering from deadlock

  • Avoiding and recovering from unbounded priority inversion

Skills you will gain

EDF (Earliest Deadline First)Priority Ceiling ProtocolRate Monotonic TheoryPriority Inheritance ProtocolDynamic and Static Scheduling Policies
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Flexible deadlines
Reset deadlines in accordance to your schedule.
Advanced Level

C programming skills, some prior experience with an operating system, and prior embedded hardware experience is a plus.

Approx. 60 hours to complete
English

Offered by

Placeholder

University of Colorado Boulder

Start working towards your Master's degree

This course is part of the 100% online Master of Science in Electrical Engineering from University of Colorado Boulder. If you are admitted to the full program, your courses count towards your degree learning.

Syllabus - What you will learn from this course

Week
1

Week 1

18 hours to complete

Real-Time Scheduling and Rate Monotonic Least Upper Bound Derivation

18 hours to complete
14 videos (Total 191 min), 3 readings, 7 quizzes
14 videos
Code Walkthrough: Syslog for Tracing and Autograded Assignments7m
Rate Monotonic Fixed Priority Policy and Optimality (Review)9m
Rate Monotonic Scheduling within the Least Upper Bound12m
Challenges with and Alternatives to Fixed Priority RM Policy16m
Deadline Monotonic Extensions to Rate Monotonic Policy10m
Deadline Driven Scheduling: using Dynamic Priority Alternatives14m
RM LUB Derivation - Introduction12m
Two Cases that Drive the RM Least Upper Bound12m
RM Least Upper Bound Intersection Point10m
RM Least Upper Bound Derivation - Conclusion22m
Necessary and Sufficient Feasibility by Worst-Case Analysis (Exact Test)11m
Exact Feasibility for Rate Monontoic Policy with Scheduling Point24m
Exact Feasibility for Rate Monotonic using Completion Test12m
3 readings
EXTRA HELP: Home Lab Set Up10m
Read, Review and Understand Derivations in Original RMA Paper (Liu & Layland)2h
Optional: Rate Monotonic Exact Analysis3m
1 practice exercise
Module 1 | Key steps in the RM least upper bound derivation30m
Week
2

Week 2

19 hours to complete

Service Design Feasibility Analysis Practice and Methods of Implementation

19 hours to complete
14 videos (Total 231 min), 2 readings, 7 quizzes
14 videos
RM Fixed Priority Scheduling Examples with Timing Diagrams12m
More Complex RM Timing Diagrams11m
Timing Diagram with a Harmonic Case12m
Timing Diagram Example Comparing RM and EDF11m
POSIX RT Extension Support16m
General Design Pattern Part-1: AMP RT Functions, Services and Systems19m
General Design Pattern Part-2: Mulit-Core, Multi-Service AMP Systems19m
Implementation Pattern: Periodic Services with POSIX RT Threads, Interval Timers and Signals19m
Message Queues for Synchronization and Data Sharing17m
Code Walkthrough: POSIX RT Feature Demonstration9m
Methods to Determine Worst Case Execution Time (WCET)26m
Methods for WCET Speed-up to Meet Deadlines24m
Service Request Period Jitter and Drift14m
2 readings
RT Extensions to POSIX - 1003.1 in Linux, QNX, Solaris, FreeBSD, etc.3h
Optional Resources for POSIX 1003.1 RT Extensions3m
1 practice exercise
Module 2 | Service implementation and admission to real-time using RMA, scheduling point, completion test30m
Week
3

Week 3

10 hours to complete

Dynamic priority Earliest Deadline First and Least Laxity First

10 hours to complete
6 videos (Total 73 min), 1 reading, 3 quizzes
6 videos
Disadvantages of Dynamic Priorities and When EDF should not be used10m
Advantages of Dynamic, Adaptive Scheduling: When to use LLF12m
Disadvantages of Dynamic Adaptive Scheduling: When LLF should not be used3m
Final Comparison of EDF and LLF Failure Modes and Recovery11m
Cheddar Tool Introduction and Overview17m
1 reading
Rate Monotonic vs. EDF - Judgement Day Paper3h
1 practice exercise
Module 3 | Earliest Deadline First , Least Laxity First30m
Week
4

Week 4

13 hours to complete

Synchronization and Bounded vs. Unbounded Blocking

13 hours to complete
12 videos (Total 134 min), 1 reading, 3 quizzes
12 videos
Bounded blocking for service release6m
Bounded blocking and Execution Efficiency impact on RT systems6m
Definition of unbounded blocking and examples of root causes17m
Code Walkthrough: Circular Wait - Deadlock Demonstration5m
Code Walkthrough: Can you think of a simple way to break deadlock after a timeout?4m
Review of semaphore use and necessity of Critical Section (C.S.)4m
Code Walk-through: Unbounded Priority Inversion Demonstration8m
Priority Inheritance, Priority Ceiling, and Priority Ceiling Emulation19m
Mars Pathfinder Problem - Rolling Reset 3 Days prior to closest approach to Mars18m
Mars Pathfinder Root Cause Analysis9m
Mars Pathfinder - Bug Localization and the Fix16m
1 reading
Priority Inversion (Unbounded) and Priority Inheritance Protocol4h
1 practice exercise
Module 4 | Thread synchronization30m

Frequently Asked Questions

More questions? Visit the Learner Help Center.