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)
- Compiti del 2009 (appelli estivi)
 - Compito risolto del 9 giugno 2010.
 - Compito risolto del 30 giugno 2010.
 
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
- Introduzione al linguaggio C (slides, handout, esempi)
 - Introduzione al linguaggio C - II (slides, handout, esempi)
 - Introduzione al linguaggio C - Puntatori e Stack (slides, handout, esempi)
 - Sistemi in tempo reale - Introduzione al corso (slides)
 - Richiami di Sistemi Operativi (slides)
 - Richiami di Architetture dei Calcolatori (slides)
 - Introduzione al linguaggio C - Memoria dinamica (slides, handout, esempi)
 - Architettura dei sistemi operativi (slides, open office)
 - Concorrenza (slides, handout, esempi)
 - Semafori (slides, handout, esempi)
 - Progettazione programmi concorrenti (slides, open office)
 - POSIX threads (slides, esempi)
 - Deadlock e starvation (slides, open office)
 - Schedulazione Real-Time: Modello dei task (slides)
 - Schedulazione fixed priority (slides, handout)
 - Schedulazione edf (slides, handout)
 - Protocolli per le risorse condivise (slides, handout)
 - Programmazione real-time (slides, handout, examples)
 - Macchine a stati (slides, handout)
 - Cambi di modo (slides, handout, examples)
 
Esercitazioni
Linguaggio C- Codice per realizzare una matrice in C (aggiornato al 15/12/2010) matrici.zip
 - Codice per realizzare una matrice in C, con calcolo del determinante e caricamento da file (aggiornato al 15/12/2010) matrici2.zip
 - Codice derivata: derivata.zip
 
- 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.
 - Problema del barbiere: testo e soluzione