( english version )
Real time systems ( 5 CFU )
Prof. Stefano Caselli
     Tel. 0521 905724 - Fax. 0521 905723           E-mail. stefano.caselli@unipr.it           Home page. http://www.ce.unipr.it/people/caselli

Finalità
Discussion of principles, methodologies, and tools for designing real-time computing systems and control software for embedded systems and industrial applications.

Programma
Introduction to real-time systems
Embedded computing systems. Computing with temporal constraints.
Real-time systems classification and relevant parameters.
A reference model for real-time computing.

Scheduling
Aperiodic task scheduling.
The cyclic executive approach for periodic tasks.
Priority-driven scheduling of periodic tasks.
Priority-driven scheduling of mixed aperiodic, sporadic, and periodic tasks.
Rate-monotonic and EDF scheduling algorithms.
Shared resources access control policies. Priority inversion management.

Operating systems and multithreaded programming
Real-time computing support in modern, general-purpose operating systems.
The POSIX standard: Threads and processes. Thread synchronization. Signals. IPC mechanisms. Scheduling. Time manangement. Memory management. I/O management.
Patterns for real-time systems programming.
Dedicated real-time operating systems.
Middleware for distributed real-time computing systems.

Attività d'esercitazione
Laboratory classes exercising multithreading and real-time features in Solaris, Linux, and the POSIX library. Multithreading and real-time programming exercises.

Modalità d'esame
Exam consists of three parts: POSIX thread programming assignment, written test, oral discussion. The oral discussion must be the final part and requires prior approval of both the programming assignment and the written test.

Propedeuticità
Sistemi operativi B.

Testi consigliati
J.W.S. Liu, Real-Time Systems, Prentice-Hall, 2000.
D. Butenhof, Programming with POSIX Threads, Addison-Wesley, 1997.

Testi d'approfondimento
G.C. Buttazzo, Sistemi in tempo reale, Pitagora editrice, 1995.
 
stampa il programma ~ torna indietro