Real-Time Systems

Informatica e Sistemi in Tempo Reale

Giorgio Buttazzo

IMPORTANT NOTICE - Lectures schedule:
MONDAY: 15:00 - 18:00 (TeCIP, Aula Grigia)
TUESDAY: 15:00 - 18:00 (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. Job scheduling
  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. Limited preemptive scheduling
  11. Fixed-priority Aperiodic servers
  12. Dynamic-priority Aperiodic servers
  13. Resource reservation
  14. Overload handling
  15. Intertask communication
  16. Programming style rules
  17. Pthread library
  18. Ptask library
  19. Allegro library
  20. Guidelines for designing real-time applications
  21. Examples of real-time applications - Part 1
  22. Examples of real-time applications - Part 2
  23. Simulating sensors and actuators

Additional material


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.



Suggested Books

  • Giorgio Buttazzo: "HARD REAL-TIME COMPUTING SYSTEMS: Predictable Scheduling Algorithms and Applications",
    Third Edition, Springer, 2011.      Errata Corrige

  • Giorgio Buttazzo: Sistemi in Tempo Reale, Terza Edizione
    Pitagora Editrice, Bologna, 2006.      Errata Corrige