Giorno | Ora | Tipo | Luogo | Note |
---|---|---|---|---|
mercoledì | 8.30 - 10.30 | lezione | Aula C | |
mercoledì | 16.30 - 18.30 | lezione | Aula C, Gamma |
Il corso presenta gli aspetti teorici e implementativi avanzati di speciali classi di sistemi operativi, con particolare riguardo a sistemi operativi distribuiti, real-time, ed embedded. L’obiettivo principale del corso è quindi quello di evidenziare le principali differenze tra sistemi operativi convenzionali e non convenzionali nell’ambito della gestione dei processi, della memoria e del file system.
Teoria:
-------
* Introduzione: classificazione HW/SW, architettura dei sistemi operativi non convenzionali.
* Introduzione ai sistemi operativi distribuiti: obiettivi e problematiche.
* Comunicazione nei sistemi operativi distribuiti: modello client-server, chiamata a procedura remota, comunicazione di gruppo.
* Sincronizzazione nei sistemi operativi distribuiti: sincronizzazione dei clock logici e fisici, identificazione dello stato globale, mutua esclusione distribuita, transazioni atomiche, gestione dei deadlock, algoritmi di elezione.
* Gestione dei processi nei sistemi operativi distribuiti: allocazione e migrazione dei processi, algoritmi di scheduling.
* Memoria condivisa distribuita: definizione e implementazione, meccanismi di consistenza.
* File system distribuiti: modello di accesso, semantica della condivisione, implementazione, migrazione e replicazione dei dati, meccanismi di consistenza.
* Introduzione ai sistemi operativi real-time: definizione, problematiche e vincoli in ambiente real-time.
* Scheduling nei sistemi operativi real-time: scheduling per task periodici, aperiodici e misti.
Laboratorio:
------------
* Sistemi operativi distribuiti: Introduzione a Openmosix e Beowulf.
* Sistemi operativi embedded: Introduzione al sistema operativo eCos.
* La comunicazione nei sistemi embedded: Introduzione al protocollo di comunicazione ZigBee.
* Terminali mobili: Introduzione agli ambienti di sviluppo.
L'esame consiste in una prova scritta contenente domande ed esercizi di teoria e laboratorio. La prova è superata con un voto maggiore o uguale a 18/30 e permette di ottenere un voto massimo pari a 30/30.
E' possibile, ma non obbligatorio, realizzare un progetto pratico (a gruppi di 2/3 persone) che può consistere in:
- implementazione/modifica di una o più funzionalità di un sistema operativo real-time
- implementazione di una applicazione per cluster di computer
- analisi, valutazione e presentazione di nuove tecnologie nell'ambito di sistemi operativi distribuiti o real-time.
Il progetto permette di ottenere al massimo 4/30 punti da sommare al voto dello scritto.
Esiti Esami | Esiti Percentuali | Media voti | Deviazione Standard |
Positivi | 100.0% | 20 | 2 |
Respinti | -- | ||
Assenti | -- | ||
Ritirati | -- | ||
Annullati | -- |
18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 30 e Lode |
50.0% | 0.0% | 0.0% | 0.0% | 50.0% | 0.0% | 0.0% | 0.0% | 0.0% | 0.0% | 0.0% | 0.0% | 0.0% | 0.0% |
Valori relativi all'AA 2009/2010 calcolati su un totale di 2 iscritti. I valori in percentuale sono arrotondati al numero intero più vicino.