Studiare

In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.

Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso.
Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:

Laurea magistrale in Ingegneria e scienze informatiche - Immatricolazione dal 2025/2026

Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.

CURRICULUM TIPO:

1° Anno 

InsegnamentiCreditiTAFSSD
12
B
ING-INF/05
12
B
INF/01
12
B
ING-INF/05

2° Anno   Attivato nell'A.A. 2018/2019

InsegnamentiCreditiTAFSSD
6
B
INF/01
Altre attività formative
4
F
-
Prova finale
24
E
-
InsegnamentiCreditiTAFSSD
12
B
ING-INF/05
12
B
INF/01
12
B
ING-INF/05
Attivato nell'A.A. 2018/2019
InsegnamentiCreditiTAFSSD
6
B
INF/01
Altre attività formative
4
F
-
Prova finale
24
E
-
Insegnamenti Crediti TAF SSD

Legenda | Tipo Attività Formativa (TAF)

TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.




S Stage e tirocini presso imprese, enti pubblici o privati, ordini professionali

Codice insegnamento

4S00067

Crediti

6

Lingua di erogazione

Italiano

Settore Scientifico Disciplinare (SSD)

ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

L'insegnamento è organizzato come segue:

Teoria

Crediti

4

Periodo

II semestre

Laboratorio

Crediti

2

Periodo

II semestre

Obiettivi formativi

Il corso si propone di formare gli studenti sugli 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.

A completamento del corso, lo studente dovrà dimostrare di avere acquisito le conoscenze fondamentali per comprendere l'organizzazione interna, il funzionamento e i servizi di sistemi operativi non convenzionali. In particolare, avrà compreso:
i) le differenze tra un sistema operativo convenzionale e i sistemi operativi distribuiti, embedded e real time;
ii) le strategie con cui i sistemi operativi non convenzionali gestiscono le risorse di un calcolatore;
iii) i campi di applicazione dei sistemi operativi non convenzionali.

Queste conoscenze consentiranno allo studente di:
i) sviluppare programmi con la consapevolezza di come un sistema operativo non convenzionale gestisce i processi che ne derivano;
ii) sviluppare applicazioni che utilizzano le primitive (chiamate a funzioni di sistema) messe a disposizione da particolari categorie di sistemi operativi embedded e real time;
iii) sviluppare e modificare componenti di un sistema operativo embedded e real time.

Al termine del corso lo studente avrà acquisito la capacità di valutare autonomamente vantaggi e svantaggi di differenti scelte progettuali nell'ambito dei servizi offerti da un sistema operativo non convenzionale.
Inoltre sarà in grado di:
i) realizzare un progetto laboratoriale di gruppo e di presentarne i relativi risultati motivando le scelte effettuate con appropriatezza di linguaggio:
ii) proseguire anche autonomamente lo studio e la ricerca nell'ambito dei sistemi operativi distribuiti, embedded e real time, affrontando tematiche avanzate sia in ambito industriale che in ambito scientifico.

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)

Modalità d'esame

Per superare l'esame gli studenti dovranno dimostrare di:
- aver compreso i principi alla base del funzionamento di un sistema operativo distribuito e real-time
- essere in grado di esporre le proprie argomentazioni in modo preciso e organico senza divagazioni
- saper applicare le conoscenze acquisite per risolvere problemi applicativi presentati sotto forma di esercizi, domande e progetti.

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.

Le/gli studentesse/studenti con disabilità o disturbi specifici di apprendimento (DSA), che intendano richiedere l'adattamento della prova d'esame, devono seguire le indicazioni riportate QUI