Real-Time Embedded Systems Theory and Analysis (Coursera)

Real-Time Embedded Systems Theory and Analysis (Coursera)
Course Auditing
Categories
Effort
Certification
Languages
C programming skills, some prior experience with an operating system, and prior embedded hardware experience is a plus.
Misc

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

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.

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

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.



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

Course Auditing
64.00 EUR/month
C programming skills, some prior experience with an operating system, and prior embedded hardware experience is a plus.

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