Sistemi operativi avanzati (2006/2007)

Corso a esaurimento

Codice insegnamento
4S00067
Docente
Graziano Pravadelli
crediti
5
Settore disciplinare
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Lingua di erogazione
Italiano
Sede
VERONA
Periodo
2° Q dal 8-gen-2007 al 9-mar-2007.

Orario lezioni

Obiettivi formativi

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.

Programma

* 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

* Esercitazioni di laboratorio:
- Programmazione distribuita su cluster
- Implementazione di alcune funzionalità su un sistema operativo real-time open source

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
W. Stallings Operating Systems - Internal and Design Principles (Edizione 3) Prentice Hall 1998 0138874077

Modalità d'esame

L'esame consiste in una prova scritta (orale) per la parte di teoria e nella realizzazione di
un progetto per la parte di laboratorio.
La prova scritta contiene 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.
Per la parte di laboratorio è richiesta la realizzare di 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 di laboratorio permette di ottenere al massimo 4/30 punti da sommare al voto della prova di teoria.

Materiale didattico

Documenti

Condividi