Programma del Corso

Disponibile anche in formato PDF



Concetti introduttivi

Richiami di Sistemi Operativi. Processi e thread. Scheduling della CPU. Esemplificazione su UNIX.

Programmazione Concorrente

Elaborazioni concorrenti. Grafo di precedenza e vincoli di sincronizzazione. Interazioni fra processi. Modello a memoria comune e a scambio di messaggi. Libreria Pthread. Sviluppo di applicazioni concorrenti.

Programmazione Distribuita

Reti e sistemi distribuiti. Elaborazioni distribuite. Modello client-server e peer-to-peer. Interfaccia socket. Sviluppo di applicazioni distribuite.

Sicurezza

Minacce e attacchi. Programmi dolosi. Attacchi tramite rete. Crittografia a chiave segreta e a chiave pubblica. Segretezza delle comunicazioni. Autenticazione della controparte. Firme digitali. Distribuzione di chiavi e certificazioni. Applicazioni sicure (PGP e SSL). Difese di sicurezza (controllo degli accessi, antivirus, firewall, ecc.).

Sistemi Embedded

Caratteristiche di un sistema embedded. Sistemi embedded real time. Sistemi operativi real time. Sistemi dedicati distribuiti. Reti di sensori wireless. Applicazioni basate su reti di sensori.

Testi di Riferimento