Per visualizzare la struttura dell'insegnamento a cui questo modulo appartiene, consultare organizzazione dell'insegnamento
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.
* 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
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 |
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.
******** CSS e script comuni siti DOL - frase 9957 ********p>