Home page of Giuseppe Lipari

Contacts

RETIS Lab
TeCIP
Scuola Superiore Sant'Anna
Via Moruzzi, 1
56127 Pisa, ITALY
tel: +39 050 882030
fax: +39 050 883003
email: g.lipari at sssup dot it

News

14 Febbraio 2013 OOSD course

All news

Informatica e Sistemi in Tempo reale Corso di laurea in Ingegneria dell'Automazione Anno accademico 2010-2011

Organizzazione dell'esame

L'esame consiste in un breve compito scritto seguito da un orale (nella stessa giornata). Il compito scritto contiene uno o due esercizi, dei quali uno almeno sulla programmazione con POSIX, e un altro eventualmente su analisi di schedulabilità o diagrammi a stati.

Chi intende partecipare ad un appello è pregato di comunicarlo via e-mail al sottoscritto qualche giorno prima dell'appello stesso.

Compiti di esame di alcuni appelli precedenti (risolti)

Slides

Le slides verranno modificate rispetto all'anno scorso. Quest'anno infatti il programma prevede una prima parte di introduzione alla programmazione in C/C++.

Le slides sono disponibili in un unico file zip insieme agli esercizi: material.tgz. Per ora sono presenti solo le prime lezioni 14, presto saranno disponibili le slides delle successive lezioni.

Le slides sono disponibili singolarmente qui.

Slides singoli

  1. Introduzione al linguaggio C (slides, handout, esempi)
  2. Introduzione al linguaggio C - II (slides, handout, esempi)
  3. Introduzione al linguaggio C - Puntatori e Stack (slides, handout, esempi)
  4. Sistemi in tempo reale - Introduzione al corso (slides)
  5. Richiami di Sistemi Operativi (slides)
  6. Richiami di Architetture dei Calcolatori (slides)
  7. Introduzione al linguaggio C - Memoria dinamica (slides, handout, esempi)
  8. Architettura dei sistemi operativi (slides, open office)
  9. Concorrenza (slides, handout, esempi)
  10. Semafori (slides, handout, esempi)
  11. Progettazione programmi concorrenti (slides, open office)
  12. POSIX threads (slides, esempi)
  13. Deadlock e starvation (slides, open office)
  14. Schedulazione Real-Time: Modello dei task (slides)
  15. Schedulazione fixed priority (slides, handout)
  16. Schedulazione edf (slides, handout)
  17. Protocolli per le risorse condivise (slides, handout)
  18. Programmazione real-time (slides, handout, examples)
  19. Macchine a stati (slides, handout)
  20. Cambi di modo (slides, handout, examples)

Esercitazioni

Linguaggio C
  1. Codice per realizzare una matrice in C (aggiornato al 15/12/2010) matrici.zip
  2. Codice per realizzare una matrice in C, con calcolo del determinante e caricamento da file (aggiornato al 15/12/2010) matrici2.zip
  3. Codice derivata: derivata.zip
Programmazione concorrente
  1. Il seguente codice (sync_struct.c) realizza una barriera di sincronizzazione tra thread. Il problema è che nel caso i thread usino la barriera in un ciclo, il codice non funziona correttamente. Per esercizio, viene richiesto di individuare l'errore e trovare una eventuale soluzione generale. Il primo studente che proporrà una soluzione corretta, guadagnerà 3 punti all'esame finale.
  2. Problema del barbiere: testo e soluzione