Obiettivi formativi
=======================
Il corso presenta gli aspetti teorici ed implementativi di speciali
classi di sistemi operativi, in particolare, i sistemi operativi
distribuiti e i sistemi operativi in real-time.
Tali aspetti verranno approfonditi con esercitazioni pratiche di laboratorio.
Attività formative
=======================
Il corso viene svolto in 44 ore tra lezioni ed esercitazioni
in laboratorio, svolte in un unico periodo didattico.
Programma del corso
=======================
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
- 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
File system distribuiti:
- Problematiche ed implementazione
- Naming e
caching
- Casi di studio: NFS, LFS, AFS
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
Sistemi embedded e sistemi operativi real-time:
- Sistemi embedded
- Applicazioni e problematiche
- Sistemi operativi embedded
- Implementazione delle funzionalità con vincoli di consumo di
potenza
- scheduling a basso consumo
- file system a basso consumo
- meccanismi di power management
Esercitazioni di laboratorio:
- Implementazione di alcune funzionalità
su un sistema operativo real-time open source.