Real-Time Embedded Systems Theory and Analysis (Coursera)

Real-Time Embedded Systems Theory and Analysis (Coursera)

This course provides an in-depth and full mathematical derivation and review of models for scheduling policies and feasibility determination by hand and with rate monotonic tools along with comparison to actual performance for real-time scheduled threads running on a native Linux system.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

By the end of this course the learner will be able to full derive the fixed priority rate monotonic least upper bound for feasibility as well as justifying the rate monotonic policy and will be able to compare to dynamic priority scheduling including earliest deadline first and least laxity policies.
At the end of this course learners will be able to fully derive and explain the math model for the rate monotonic least upper bound as well as performing timing diagram analysis for fixed and dynamic priority software services. Tools to provide analysis will be learned (Cheddar) to automate timing analysis and to compare to actual performance.
Specific objectives include:

  • Rate monotonic theory (complete math models)
  • Differences between fixed priority rate monotonic policy and dynamic priority earliest deadline first and least laxity policies
  • Scheduling theory and practice writing code for multi-frequency executives, priority preemptive RTOS services, and real-time threaded services on traditional operating systems (Linux)
  • Building a simple Linux multi-service system using POSIX real-time extensions on Raspberry Pi 3b using sequencing and methods to log and verify agreement between theory and practice
  • Timing diagram generation and analysis using Cheddar

Course 2 of 4 in the Real-Time Embedded Systems Specialization

What You Will Learn

  • Methods to analyze dynamic priority real-time service feasibility
  • Methods to control unbounded priority inversion problems
  • Avoiding and recovering from deadlock
  • Avoiding and recovering from unbounded priority inversion

Syllabus

WEEK 1
Real-Time Scheduling and Rate Monotonic Least Upper Bound Derivation
At the end of this module, you will be able to analyze the mathematics involved in Rate Monotonic Least Upper Bound Condition along with its challenges and alternatives to it. An extension to RM scheduling policy i.e. Deadline Monotonic Scheduling Policy along with implementation of completion test for determining exact feasibility for Rate Monotonic Scheduling policy is also in scope of this module. Working on Programming assignments will give system level implementation of real time services and determining the best scheduling policies for meeting the deadlines for the designed real-time systems along with their trade offs.

WEEK 2
Service Design Feasibility Analysis Practice and Methods of Implementation
At the end of this module learners will be able to describe the design pattern for real-time services, describe implementation challenges such as unbounded blocking and describe normal operation - request for service synchronization between an ISR and each thread or task, initialization, keep-alive posting, error handling, and termination.

WEEK 3
Dynamic priority Earliest Deadline First and Least Laxity First
At the end of this Module learners will know when to use dynamic priority policies, advantages of them for soft real-time, disadvantages for error detection and recovery, challenges of feasibility determination and efficiency compared to fixed priority.

WEEK 4
Synchronization and Bounded vs. Unbounded Blocking
At the end of this Module learners will be able to describe issues with resources used beyond CPU (memory, I/O, and storage) and how to avoid problems or recover from them.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Real-Time Embedded Systems Concepts and Practices (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Concepts and Practices (Coursera)

This course can also be taken for academic credit as ECEA 5315, part of CU Boulder’s Master of Science in Electrical Engineering degree. Course Description: In this course, students will design and build a microprocessor-based embedded system application using a real-time operating system or RT POSIX extensions with Embedded Linux. The course focus is on the process as well as fundamentals of integrating microprocessor-based embedded system elements for digital command and control of typical embedded hardware systems.

Oct 19th 2026
4 Weeks
Capstone: Autonomous Runway Detection for IoT (Coursera) Coursera
EIT Digital

Capstone: Autonomous Runway Detection for IoT (Coursera)

The students will develop a larger system using the learning outcomes from these courses, and the students will evaluate the developed system in a real-world programming environment. This course is a true engineering task in which the student must, not only implement the algorithm code, but also handle the interfaces between many different actors and hardware platforms.

Nov 2nd 2026
3 Weeks
Systèmes embarqués et objets connectés - Démarche de conception (FUN) FUN
Université Fédérale Toulouse Midi-Pyrénées

Systèmes embarqués et objets connectés - Démarche de conception (FUN)

Coproduit par l'INP Toulouse et l'INSA Toulouse, ce MOOC constitue un module de positionnement général des systèmes embarqués et objets connectés dans leurs contextes opérationnels. Fortement novateur, il aborde ces systèmes selon un ensemble de points de vue pluridisciplinaires. L'objectif de ce MOOC est de vous permettre d'acquérir une démarche méthodologique, de mettre en place une pensée globale prenant en compte l'écosystème du domaine des systèmes embarqués et objets connectés dans une finalité de compréhension générale du système.

No sessions available
5-12 Weeks
Fundamentals of TinyML (edX) EdX
HarvardX,Harvard University

Fundamentals of TinyML (edX)

Focusing on the basics of machine learning and embedded systems, such as smartphones, this course will introduce you to the “language” of TinyML. What do you know about TinyML? Tiny Machine Learning (TinyML) is one of the fastest-growing areas of Deep Learning and is rapidly becoming more accessible. This course provides a foundation for you to understand this emerging field.

Self Paced
Self-Paced
Embedded Systems Essentials with Arm: Get Practical with Hardware (edX) EdX
Arm Education,ArmEducationX

Embedded Systems Essentials with Arm: Get Practical with Hardware (edX)

Spark your creativity with Arm. Level up your Embedded Systems skills by developing working embedded prototypes using the Mbed API and an Arm-based development board, and unlock the boundless opportunities of the Internet of Things. Embedded systems are the fundamental building blocks of our connected world, and Arm-based devices are the industry standard. This course will provide you with the practical skills and confidence to build your own embedded system using the popular and affordable ST Nucleo F401RE development board.

Self Paced
Self-Paced
Embedded Systems (Udacity) Udacity
Georgia Institute of Technology,Udacity

Embedded Systems (Udacity)

The goal of this course is to take a holistic view of the embedded system stack with a focus on processor architectures, instruction sets and the associated advanced compiler optimizations that take advantage of the same. In the 21st century, embedded systems are the systems of future with cellular phones, smart-phones, tablets becoming the dominant platforms for computing and communication. The ubiquity of information and the associated need for the computation that accompanies it is driving this revolution only to be accelerated by the new paradigms such as the Internet-of-Things (IoT).

Self Paced
Self-Paced
System Validation (Canvas Network) Canvas Network
Halmstad University

System Validation (Canvas Network)

Anyone who has ever designed an embedded system or a communication protocol involving several components executing simultaneously knows that such software is inherently susceptible to bugs. Typical problems include race conditions, deadlocks, and unexpected interplay between different components. The parallel nature of these systems makes it notoriously hard to detect such bugs using testing (timing, e.g., plays a crucial role). This course is designed to provide an introduction to the problems that arise in the design of such systems. It provides ways to model such systems and reason about them.

Self Paced
Self-Paced
Design and Prototype Embedded Computer Systems (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Design and Prototype Embedded Computer Systems (FutureLearn)

Discover embedded system design and work your way through the product design lifecycle. Supported by Google. Learn how to design your own embedded system. On this course from the Raspberry Pi Foundation, you will explore how embedded systems are used in the world around us. You will learn what makes an embedded system different from a general purpose system (such as a PC) and discover how embedded systems are specialised for a particular use case.

Nov 1st 2021
3 Weeks
Let Us PIC: A Datasheet Approcah for PIC Programming (Skillshare) Skillshare
Skillshare

Let Us PIC: A Datasheet Approcah for PIC Programming (Skillshare)

This course introduces basic concepts of PIC micro-controller programming using C. Starting from installation of required software, this course gives insight of programming the PIC microcontroller to access General Purpose Input Output (GPIO) pins, Configuring external interrupts, Timers and counters, ADCs, LCD and Keypad interfacing, PWM generation and few communication protocols like UART, I2C and SPI.

Self Paced
Self-Paced
Modeling and Debugging Embedded Systems (Coursera) Coursera
University of Colorado Boulder

Modeling and Debugging Embedded Systems (Coursera)

This is part 3 of the specialization. In this course students will learn : * About SystemC and how it can be used to create models of cyber-physical systems in order to perform "what-if" scenarios; * About Trimble Engineering's embedded systems for heavy equipment automation; * A deeper understanding of embedded systems in the Automotive and Transportation market segment; * How to debug deeply embedded systems; * About Lauterbach's TRACE32 debugging tools; * How to promote technical ideas within a company; * What can be learned from studying engineering failures.

Oct 19th 2026
4 Weeks
Architecting Smart IoT Devices (Coursera) Coursera
EIT Digital

Architecting Smart IoT Devices (Coursera)

This course will teach you how to develop an embedded systems device. In order to reduce the time to market, many pre-made hardware and software components are available today. You'll discover all the available hardware and software components, such as processor families, operating systems, boards and networks. You'll also learn how to actually use and integrate these components.

Nov 16th 2026
5-12 Weeks