Real-Time Systems

Informatica e Sistemi in Tempo Reale

Giorgio Buttazzo


IMPORTANT NOTICE: The lectures on Monday, November 4 and Monday November 18 are CANCELED.


Lectures schedule:
MONDAY: 15:00 - 18:00 (TeCIP, Grey Room)
TUESDAY: 14:30 - 17:30 (ING, Aula F7)
WEDNESDAY: 11:30 - 13:30 (ING, Aula F7)

To receive Email notifications about any change on course lectures and exams please register in this file.

Course slides

  1. Introduction
  2. Task modeling
  3. Deriving task constraints
  4. Scheduling algorithms
  5. Periodic scheduling (fixed priorities)
  6. Periodic scheduling (dynamic priorities)
  7. Workload analysis
  8. Resource sharing protocols (part 1)
  9. Resource sharing protocols (part 2)
  10. Fixed-priority aperiodic servers
  11. Dynamic-priority aperiodic servers
  12. Resource reservation
  13. Overload handling
  14. Programming style rules
  15. Intertask communication
  16. Pthread library
  17. Ptask library
  18. Allegro library
  19. Guidelines for designing real-time applications
  20. Examples of real-time applications - Part 1
  21. Examples of real-time applications - Part 2
  22. Examples of real-time applications - Part 3
  23. Simulating sensors and actuators
  24. Reinforcement Learning: theoretical foundations - Part 1
  25. Reinforcement Learning: theoretical foundations - Part 2
  26. Reinforcement Learning: implementation aspects
  27. Final notes

Additional material


Exam

The exam consists of a project followed by a written test.
  • The project consists of developing a real-time multi-thread application in C language on the Linux operating system.
    It must be fully completed and delivered before the written test. The project rules are specified below.

  • The written test consists of a set of exercises and questions that cover the topics of the course.
    Some sample exercises with the corresponding solutions are given below.

Projects


Exercises


Suggested Books