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