Modulo | Crediti | Settore disciplinare | Periodo | Docenti |
---|---|---|---|---|
Teoria | 4 | ING-INF/05-SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI | 2° Q |
Graziano Pravadelli
|
Laboratorio | 1 | ING-INF/05-SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI | 2° Q |
Graziano Pravadelli
|
Modulo: Teoria
-------
Il corso presenta gli aspetti teorici e implementativi avanzati di speciali classi di sistemi operativi, con particolare riguardo a sistemi operativi distribuiti e sistemi operativi real-time. Tali aspetti verranno approfonditi con esercitazioni pratiche di laboratorio.
Il corso viene svolto in 44 ore tra lezioni (32 ore) ed esercitazioni in laboratorio (12 ore), distribuite in un unico periodo didattico.
Il materiale didattico verrà distribuito dal docente sotto forma di dispense e articoli.
Modulo: Laboratorio
-------
Il corso è costituito da 12 ore di esercitazioni pratiche in laboratorio riguardanti problematiche legate alla programmazione su cluster e su sistemi operativi embedded.
Modulo: Teoria
-------
* Introduzione:
- Classi di sistemi operativi non convenzionali
° sistemi operativi distribuiti
° sistemi operativi multiprocessore
° sistemi real-time
° sistemi operativi embedded
- Strutture di sistemi operativi non convenzionali
° microkernel
° exokernel
° cluster
- Esempi di sistemi operativi dei vari tipi
* Sistemi Operativi Distribuiti:
- Problematiche
- Architetture HW e SW
- Metriche di progetto (trasparenza, flessibilità, affidabilità, scalabilità)
- La comunicazione nei sistemi distribuiti
° protocolli
° modello client-server
* La sincronizzazione nei sistemi distribuiti:
- Sincronizzazione dei clock
- Mutua esclusione e transazioni atomiche
- Deadlock
* Gestione dei processi nei sistemi distribuiti:
- Allocazione dei processi
- Migrazione dei processi
- Scheduling dei processi
* File system distribuiti:
- Problematiche ed implementazione
- Naming e caching
- Caso di studio: NFS
* Memoria Condivisa Distribuita:
- Modello concettuale
- Implementazioni
- Problema della consistenza e relativi modelli
*Sistemi operativi real-time
- Problematiche e vincoli
° determinismo
° reattività
° affidabilità
- Esempi di sistemi real-time
* Scheduling nei sistemi operativi real-time:
- Concetto di clock, deadline, e timeout
- Scheduling a priorità
- Deadline scheduling
- Scheduling di task aperiodi e periodici
Modulo: Laboratorio
-------
* Esercitazioni di laboratorio:
- Programmazione distribuita su cluster
- Implementazione di alcune funzionalità su un sistema operativo embedded open source
Modulo: Teoria
-------
L'esame consiste in una prova scritta (orale) contenente domande teoriche ed esercizi. La prova è superata con un voto maggiore o uguale a 18/30 e permette di ottenere un voto massimo pari a 30/30. L'orale è facoltativo.
Modulo: Laboratorio
-------
L'esame consiste in una prova scritta (orale) contenente domande teoriche ed esercizi e viene svolta contestualmente alla prova di teoria.
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 della prova di teoria.
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 | ||
W. Stallings | Operating Systems - Internal and Design Principles (Edizione 3) | Prentice Hall | 1998 | 0138874077 |
******** CSS e script comuni siti DOL - frase 9957 ********