Real-Time Systems

Giorgio Buttazzo

Lectures schedule:
MONDAY: 8:30 - 10:30 (ING, PN9)
WEDNESDAY: 11:30 - 13:30 (ING, PN9)

REGISTRATION

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

Course slides

  1. Introduction to real-time computing
  2. Task modeling and time constraints derivation
  3. Scheduling algorithms
  4. Periodic scheduling (Part 1)
  5. Periodic scheduling (Part 2)
  6. Periodic scheduling (Part 3)
  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. Intertask communication
  15. Programming style rules
  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