Differenze tra le versioni di "Sistemi distribuiti"

Da WikiDsy.
(Lezione di Mercoledì 12 aprile 2006)
 
(8 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]]
* Registry
 
* Stub
 
* Funzionamento RMI
 
* Creazione di un sistema distribuito con RMI
 
** Definizione interfaccia remota
 
** Definizione implementazione oggetto remoto
 
** Definizione della classe che associa una stringa all'oggetto remoto
 
** Definizione dell'applicazione client
 
** Compilazione ed esecuzione oggetto remoto e client
 
* Esempi di client-server con RMI
 
* Presentazione del progetto
 

Versione attuale delle 11:09, 28 lug 2007

Disambigua compass.PNG
Questa è una pagina di introduzione al corso: contiene i turni, le modalità d'insegnamento, alcune informazioni generali ed eventuali giudizi sul corso in questione. Se sei giunto qui passando da un link, puoi tornare indietro e correggerlo in modo che punti direttamente alla voce appropriata.

Turni

A.A. passati

Informazioni generali

Giudizio sul corso

I giudizi di seguito espressi sono il parere personale degli studenti,
e potrebbero non rispecchiare il parere medio dei frequentanti.
Non vi è comunque alcun intento di mettere alla gogna i docenti del corso!
Interesse della materia (da 1 a 5 - aiuto)
____________________
Difficoltà del corso (da 1 a 5 - aiuto)
____________________
Difficoltà del corso per non frequentanti (da 1 a 5 - aiuto)
____________________
Ore di studio richieste (da 1 a 5 - aiuto)
____________________