This course is intended for the Master's student and computer engineer who likes practical programming and problem solving!
After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice.
The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.
Examples of such systems include airbags, emergency breaks, avionics, and also multi-media systems like video playback and QoS in web servers.
The course teaches how to plan real-time systems in theory using established mathematical proofs and how to implement them in practice by using the most common scheduling methods.
We also learn and how to program the system in the C language using the FreeRTOS real-time kernel.
Finally we have a look at the future of real-time systems namely multi-core real-time systems!
This course focus on the learn-by-doing approach with many examples and real-world programming assignments.
We have 5 modules, each with a gentle graded quiz in the end and one peer reviewed programming assignment.
In case you have no experience with C programming, please check you a practical course like:
https://www.coursera.org/learn/arduino-platform
The course is actually quite fun!
-Simon Holmbacka / Åbo Akademi University
Check out our whole curriculum: https://research.it.abo.fi/

Na lição

Dynamic Scheduling

In the previous week we learned the limitations of the total-utilization method and the Urm method. We start this week off by extending these tests to tasks with short response times. The new method is also, as usual, used in practice! We then focus on improving the optimality of real-time schedules. This is done by learning the principles behind dynamic scheduling methods. Two new schedulers using the dynamic scheduling principle is learned and used in practice with a few examples; the LST scheduler and the EDF scheduler.Concretely, you will learn: (1) How to determine feasibility of a set of tasks using the time demand analysis method. (2) How to schedule a set of tasks using LST and EDF. (3) To determine when a dynamic scheduler is appropriate and when it is not appropriate.