|
|
(9 versioni intermedie di 2 utenti non mostrate) |
Riga 1: |
Riga 1: |
− | [[Categoria:Corsi]][[Categoria:Corsi Secondo Semestre]]
| + | {{introduzione}} |
− | <!-- non cancellare le righe precedenti -->
| + | == Turni == |
− | == Informazioni generali == | + | {{Turno}} |
| | | |
− | === Docenti === | + | == A.A. passati == |
− | Prof. Claudio Bettini<br>
| + | {{annipassati|2006-2007|(Bettini, Mascetti)}} |
− | Dott. Sergio Mascetti (per la parte di laboratorio)
| + | {{annipassati|2005-2006|(Bettini, Mascetti)}} |
| | | |
− | === Orari delle lezioni === | + | == Informazioni generali == |
− | Mer 9.00 - 11.30 in aula Alfa (via Comelico)<br>
| |
− | (con pausa di circa 20 minuti)
| |
− | | |
− | === Orario di ricevimento studenti ===
| |
− | Mar 17.30 - 19.30<br>
| |
− | Stanza P121
| |
− | | |
− | === Sito del corso ===
| |
− | [http://webdid.usr.dico.unimi.it/sd/ Pagina ufficiale del corso].
| |
− | | |
− | === Materiale didattico ===
| |
− | * Testo: "'''Distributed Systems: Principles and Paradigms'''" - ''Andrew S. Tanenbaum & Martin Steen Van'' - Prentice Hall, 2002, ISBN 0-13-088893-1
| |
− | | |
− | * I lucidi delle lezioni sono presenti sul sito ufficiale del corso. Per accedere al materiale è necessario avere username e password.
| |
− | | |
− | * [http://www.dsy.it/forum/showthread.php?s=&threadid=24564 Appunti '''non ufficiali''' del corso]
| |
− | | |
− | === Modalità d'esame ===
| |
− | Se si sceglie di sostenere il primo appello (quello a giugno) si potrà lavorare ad un progetto durante le ore di laboratorio che verrà valutato alla fine delle lezioni pratiche. Le lezioni di laboratorio si svolgeranno nei giorni: 5, 12, 19, 26 aprile, 3 e 10 maggio in aula Sigma (via Comelico). Successivamente, a giugno, si sosterrà un esame scritto (test a scelta multipla e domande a risposta aperta). Il voto sarà dato dalla media dei due voti ottenuti nelle due prove (verrà dato pari peso a pratica e teoria - 3 crediti per entrambe).<br>
| |
− | <br>
| |
− | Se si decide di dare l'esame dopo giugno bisognerà sostenere un orale durante il quale si dovrà presentare anche il proprio progetto.<br>
| |
− | <br>
| |
− | Il testo del progetto resta valido fino ad aprile 2007.
| |
− | | |
− | == Diario del corso ==
| |
− | | |
− | === Lezione di Mercoledì 8 marzo 2006 ===
| |
− | * Introduzione
| |
− | * Definizione di "Sistema distribuito"
| |
− | * Trasparenza
| |
− | * Scalabilità
| |
− | * Concetti hardware
| |
− | * Concetti software
| |
− | | |
− | === Lezione di Mercoledì 15 marzo 2006 ===
| |
− | * Paragone tra sistemi
| |
− | * Esempio di Client
| |
− | * Esempio di Server
| |
− | * Architetture multitiered
| |
− | * Distribuzione verticale e orizzontale di un Web Server
| |
− | * Modello peer-to-peer
| |
− | * Livelli del modello OSI (breve ripasso)
| |
− | * Servizi di comunicazione middleware
| |
− | * Persistenza, mancanza di persistenza; sincronia, asincronia nella comunicazione
| |
− | * Socket
| |
− | * Remote Procedure Call
| |
− | * Remote Object Invocation
| |
− | | |
− | ''Note dal docente: il 7 giugno ci sarà la prova finale; la prossima lezione sarà molto importante (algoritmi di sincronizzazione)!! ''
| |
− | | |
− | === Lezione di Mercoledì 22 marzo 2006 ===
| |
− | | |
− | * Sincronizzazione (capitolo 5 del Tanenbaum)
| |
− | ** Clock
| |
− | ** Orologi fisici, TAI, UTC
| |
− | ** Cristian's Algorithm
| |
− | ** The Berkley Algoritm
| |
− | ** Orologi Logici
| |
− | ** Algoritmo di Lamport
| |
− | ** Esempi e applicazioni
| |
− | ** Stato Globale di un Sistema Distribuito
| |
− | ** Algoritmo per Distributed Snapshot
| |
− | ** Elezione di un coordinatore
| |
− | ** L'algoritmo di Bully per l'elezione di un coordinatore
| |
− | ** L'algoritmo ad anello (Ring/Token Ring algorithm)
| |
− | ** Mutual Exclusion - Un algoritmo centralizzato
| |
− | | |
− | ''Note dal docente: le prossime 5 lezioni saranno dedicate alla parte di laboratorio; di queste cinque, le prime tre si terranno in aula Alfa, le ultime due in aula Sigma.''
| |
− | | |
− | === Lezione di Mercoledì 29 marzo 2006 ===
| |
− | * Elementi fondamentali delle reti TCP/IP
| |
− | * Il livello di trasporto: TCP e UDP
| |
− | * Programmazione con le socket: cosa sono e come si usano
| |
− | * Esempio e commento del codice per la comunicazione di un client e di un server in TCP usando le socket
| |
− | * Esempio e commento del codice per la comunicazione di un client e di un server in UDP usando le socket (concetto di datagramPacket)
| |
− | | |
− | === Lezione di Mercoledì 05 aprile 2006 ===
| |
− | * Server Concorrenti
| |
− | * Progettare un server concorrente
| |
− | * Thread in Java
| |
− | * Versione Multithread del TCP Server
| |
− | * Sincronizzazione
| |
− | ** Metodi non sincronizzati
| |
− | ** Metodi sincronizzati
| |
− | * Struttura di un server concorrente
| |
− | * Join(), Sleep(), Wait(), Notify()
| |
| | | |
− | === Lezione di Mercoledì 12 aprile 2006 === | + | == Giudizio sul corso == |
| + | {{Giudizio}} |
| + | {{Giudizio/Interesse|}} |
| + | {{Giudizio/Difficoltà|}} |
| + | {{Giudizio/Nonfrequentanti|}} |
| + | {{Giudizio/Ore|}} |
| | | |
− | * RMI
| + | [[Categoria:Corsi Secondo Semestre]][[Categoria:Corsi Magistrale]] |
− | * Esempi di client-server con RMI
| |
− | * Presentazione del progetto
| |