Real-Time Systems

Informatica e Sistemi in Tempo Reale

Giorgio Buttazzo

IMPORTANT NOTICE: Lectures will be given according to the following schedule:
MONDAY: 15:00 - 18:00 (TeCIP, Aula Grigia)
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. Job scheduling
  4. Periodic scheduling
  5. Workload analysis
  6. Resource sharing
  7. Limited preemptive scheduling
  8. Fixed-priority aperiodic servers
  9. Dynamic-priority aperiodic servers
  10. Resource reservation
  11. Overload handling
  12. Intertask communication
  13. Programming style rules
  14. Pthread library
  15. Allegro library
  16. Guidelines for designing real-time applications
  17. Examples of real-time applications
  18. Simulating sensors and actuators
  19. Final notes

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