Real-Time Systems

This course is part of the Master of Science in Embedded Computing Systems
jointly offered by the University of Pisa and the Scuola Superiore Sant’Anna

IMPORTANT NOTICE: Lectures will be given according to the following schedule:
MONDAY: 14:30 - 17:30
TUESDAY: 14:30 - 17:30

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. Resource sharing
  6. Aperiodic servers
  7. Resource reservation
  8. Overload handling
  9. Intertask communication
  10. Programming style rules
  11. Pthread library
  12. Allegro library
  13. Guidelines for designing real-time applications
  14. Examples of real-time applications
  15. Simulating sensors and actuators
  16. 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