Sistemi operativi avanzati (2013/2014)

Codice insegnamento
4S00067
Docente
Graziano Pravadelli
Coordinatore
Graziano Pravadelli
crediti
6
Settore disciplinare
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Lingua di erogazione
Italiano
Periodo
I semestre dal 1-ott-2013 al 31-gen-2014.

Orario lezioni

I semestre
Giorno Ora Tipo Luogo Note
mercoledì 14.30 - 17.30 lezione Aula C  
giovedì 8.30 - 10.30 lezione Laboratorio di ricerca Laboratorio ESD  

Obiettivi formativi

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.

Programma

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 embedded: Introduzione al sistema operativo eCos.
* La comunicazione nei sistemi embedded: Introduzione al protocollo di comunicazione ZigBee.
* Terminali mobili: Introduzione agli ambienti di sviluppo.
* Smartphone: Introduzione agli ambienti di sviluppo (iPhone, Android, Windows Phone)

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
A.Tanenbaum Disitributed Operating Systems Prentice Hall 1994 0132199084
Giorgio Buttazzo "HARD REAL-TIME COMPUTING SYSTEMS: Predictable Scheduling Algorithms and Applications", Kluwer Academic Publishers 1997

Modalità d'esame

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
- 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.

Materiale didattico

Documenti

Opinione studenti frequentanti - 2013/2014


Statistiche per i requisiti di trasparenza (Attuazione Art. 2 del D.M. 31/10/2007, n. 544)

Statistiche esiti
Esiti Esami Esiti Percentuali Media voti Deviazione Standard
Positivi 100.0% 28 3
Respinti --
Assenti --
Ritirati --
Annullati --
Distribuzione degli esiti positivi
18 19 20 21 22 23 24 25 26 27 28 29 30 30 e Lode
0.0% 0.0% 0.0% 0.0% 0.0% 33.3% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 66.6% 0.0%

Valori relativi all'AA 2013/2014 calcolati su un totale di 3 iscritti. I valori in percentuale sono arrotondati al numero intero più vicino.