You are here: Home » Study Plan » Subject


Subject: SISTEMI EMBEDDED E REAL TIME (A.A. 2023/2024)

master degree course in COMPUTER SCIENCE

Course year 1
Teaching units Unit Sistemi Embedded e Real Time
Information Technology (lesson)
  • TAF: Compulsory subjects, characteristic of the class SSD: ING-INF/05 CFU: 9
Teachers: Marko BERTOGNA
Exam type oral
Evaluation final vote
Teaching language Italiano
Contents download pdf download




The purpose of the Real Time Embedded Systems course is to provide advanced skills in designing, configuring, and deploying industrial systems that require a close interaction with the surrounding environment. The main application domains of such technologies include automotive, industrial automation, avionics, etc. That is, all those systems where it is not only necessary that the response provided by the system is correct, but also that it takes place within well-defined deadlines.

Admission requirements

To properly follow the course, a good proficiency is recommended in the topics covered in programming courses (with particular relation to C/C++ programming environments), computer architectures, and operating systems.

Course contents

Operating Systems and Architectures [1 CFU]
Algorithm, program, process, thread. Batch systems vs. interactive systems. CPUs, registers, memory, interfaces, stack, polling/interrupt management. Process and atomic action on single-core and multi-core systems.

Concurrent programming [3 CFU]
Communication, synchronization, scheduling. Shared memory programming: mutual exclusion, critical sections, semaphores, mutexes, monitors, condition variables, deadlock, livelock. Message passing: distributed memory paradigm, synchronous and asynchronous communication.

Real Time Systems [3 CFU]
Definitions, examples, accidents.
Pthread programming: creation, join, scheduling, semaphores, mutexes, conditions.
Real-Time Scheduling: tasks, jobs, preemptive/non-preemptive systems, latencies, worst-case execution time, mixed-critical systems, periodic/sporadic/aperiodic tasks, scheduling anomalies. Scheduling algorithms: FCFS, SJF, round robin, fixed/dynamic priorities, EDF (and related optimality).
Schedulability Analysis: Rate Monotonic, Deadline Monotoniv, EDF, and related schedulability tests. Utilization, least upper bound, response time, processor demand. Critical instant and worst-case conditions.
Shared resource protocols: priority inversion, NPP, HLP, PIP, PCP, SRP.
Real-time servers: management of aperiodic activities. Fixed-priority servers: Polling server, Deferrable server. Dynamic Priority Servers: TBS, CBS. Server's parameters selection.

Applications and RTOS [2 CFU]
ROS, Formula 1/10, concurrent applications and real-time tasks management. Practical exercises.

Reception hours: Thursday 9-11

Teaching methods

Theoretical classes followed by practical exercises in the laboratory. All students may download slides and (solved) exercises from the course website.

Assessment methods

Written exam including theoretical questions and exercises. Oral exam to discuss a software project developed by the student.

Learning outcomes

- Knowledge and understanding: at the end of the course, the student should have acquired advanced knowledge on industrial real-time systems.

- Applying knowledge and understanding: at the end of the course, the student should be able to apply the knowledge acquired to design and implement a working real-time system, selecting the most suitable mechanisms to guarantee a prompt response time of the tasks with relation to the controlled environment.

- Making judgements: at the end of the course, the student should be able to recognize by himself the appropriate methods and techniques to solve typical programing problems.

- Communicating skills: the student, at the end of the course, should be able to describe with appropriate technical language the design choices made in the design of a real-time embedded system.

- Learning skills: The lectures should stimulate the learning skills and an in-depth analysis of subjects connected with the presented topics.


Giorgio C. Buttazzo, "Hard Real-Time Computing Systems - Predictable Scheduling Algorithms and Applications". Third Edition. 2011. Springer.

- Slide del docente