Indice
Anno Accademico 2012-13
Polo Didattico La Spezia
Docente: Laura Ricci
Orario del Corso
Giovedì ore 9.00-11.00, Lezione in Aula, Aula 4, Polo Marconi
Giovedì ore 11.00-13.00, Laboratorio, Laboratorio 2, Polo Marconi
Orario di Ricevimento
Giovedì ore 15.00-18.00, Pisa presso il mio Studio
Per qualsiasi problema potete contattarmi in qualsiasi momento via e-mail ([email protected]), oppure su skype (contatto: lauraemiliaricci)
Programma
Thread Programming
- Attivazione di threads. La classe Runnable
- Pool di threads: Politiche per la Gestione dei Pool
- Politiche di Saturazione
- Thread che restituiscono risultati: la classe Callable
- Stati di un thread, metodi Join, Interrupt
- Sincronizzazione, concetto di Monitor
- Metodi Synchronized, sezioni critiche, wait(), notify(), notifyall()
- Programmazione Concorrente: Problemi Classici
- Produttore/COnsumatore
- Filosofi a Tavola: deadlock
- Scrittori/Lettori: starvation
- Semaphore
Gestione di indirizzi IP
- Classe InetAddress
Sockets TCP
- Le classi Socket, ServerSocket
- Stream: concetti generali
- Invio di dati strutturati su Stream: Stream di Oggetti
- Serializzazione
- Attributi Transient, Grafo dei Riferimenti
- Caching di Oggetti
- Versioni
- Scenari di Deadlock
- Implementazione di socket TCP
- Stati di un Socket
- Demultiplexing
- Proprietà di Socket TCP: Timeout, NoDelay, Size, SoLinger, Keep-Alive
Sockets UDP
- DatagramSockets, DatagramPackets
- Generazione di pacchetti UDP: Le classi ByteArrayInputStream, ByteArrayOutputStream
Multicast UDP
- Multicast Scoping
- API JAva
Remote Method Invocation
- Creazione di Registry
- Esportazione di oggetti remoti
- Accesso Concorrente ad Oggetti remoti
- RMI Callbacks
Modalità d'esame
Progetto+Orale
Progetto L'esame si svolge presso il Laboratorio del Polo Marconi, circa una settimana dopo la consegna del codice e della relazione
Gli studenti che non hanno frequentato le lezioni di laboratorio (studenti lavoratori) sono pregati di mettersi in contatto con me prima dell'inizio dello svolgimento del progetto.
Il prossimo progetto verra' consegnato alla fine del mese di aprile 2013.
Orale: verte sulla discussione del progetto e in generale sugli argomenti trattati nel corso.
Tutti gli studenti che consegneranno una soluzione corretta degli esercizi assegnati a lezione, entro 15 giorni dal loro assegnamento, otterranno un 'bonus' per l'esame finale
Progetto Finale
Il progetto proposto per l'anno accademico 2012/13 riguarda la realizzazione di un servizio di Storage Distribuito che prende ispirazione da Dynamo, lo Storage System di Amazon. Il materiale per il progetto è il seguente:
Testo del Progetto | Riferimenti |
---|---|
Reduced dynamo: DHT-based Distributed Storage System | DynamoDHT: an Introduction |
- Il progetto rimane valido fino alla fine di Aprile 2014.
- Per qualsiasi problema potete inviarmi una mail ([email protected]) o cercarmi su skype (contatto lauraemiliaricci).
- L'orale si tiene una settimana dopo la consegna del progetto.
- L'orale si terrà al Polo Marconi di La Spezia fino a gennaio 2014, successivamente si terrà a Pisa.
Giorno | Argomenti | Lucidi | Materiale Integrativo |
---|---|---|---|
21/02/2013 | MultiThreading: Attivazione ed Interruzione di Threads | ||
28/02/2013 | Thread Pooling, Gestione indirizzi IP | ||
07/03/2013 | Socket: Concetti introduttivi, Socket TCP | ||
14/03/2013 | Thread: Accesso a Risorse Condivise | ||
21/03/2013 | Socket TCP: Interazione con il Supporto | ||
28/03/2013 | Il Meccanismo della Serializzazione | ||
11/04/2013 | Socket UDP: Spedizione di Pacchetti | ||
16/04/2013 | Correzione di Esercizi alla lavagna | ||
02/05/2013 | Multicast IP, Lettori Scrittori | ||
09/05/2013 | Remote Method Invocation | ||
23/05/2013 | Consegna del Progetto, Il Meccanismo delle Callbacks |