Real Time Programming
Objectives
Introduction to the basic concepts and architecture of real-time kernels (notion of thread and scheduling, critical sections and synchronisation). Illustration of fixed priority based scheduling algorithms, basic principles of scheduling analysis.
Description
This module includes a lecture (10h) and a personal work as practical classes (10h). The lecture addresses the following topics
– Introduction to basic concepts of real-time kernels (memory management, threads and scheduling, synchronisation, time management)
– Main characteristics of synchronisation mechanisms and basic primitives (critical sections, mutual exclusion, semaphores, models)
– Principles of scheduling and deadlines (fixed priority based scheduling algorithms, Rate Monotonic Scheduling, introduction to schedulability analysis and Worst Case Execution Time evaluation)
– Examples and use of real-time kernels.
The practical work is done in groups of students and focuses on the analysis and the use of real-time kernels in industrial applications.
Targeted skills
Mastering synchronisation techniques
Fixed priority based scheduling
Scheduling analysis
Using a real-time kernel and application
Bibliography
ENSEEIHT lecture slides presented by M. Fabre, M. Roy, M. Lauer ;
« Scheduling in Real-Time Systems », F. Cottet, J. Delacroix, C Kaiser et Z. Mammeri, Wiley Eds. (2002).
« Hard Real Time Computing Systems », G. Buttazzo, Springer Eds, 3rd edition, ISBN 9781461406754, 1997.
Pre-requisites
Operating systems principles, C / C++ programming
Contact(s)
Places
- Toulouse