RETI DI CALCOLATORI L-A
Transcript
RETI DI CALCOLATORI L-A
Programma RETI DI CALCOLATORI L-A Corsi di Laurea: Ingegneria informatica Docenti: Antonio Corradi Luca Foschini 1.Generalità e Concetti di Base Generalità dei sistemi distribuiti ▪ inquadramento generale e definizioni di base ▪ sistemi distribuiti decentralizzati ed eterogenei ▪ necessità di standardizzazione delle soluzioni (ISO/OSI ed Internet) Concetti di base e alcuni modelli di soluzione Si presentano alcuni modelli caratteristici, come ▪ modelli a scambio di messaggi ▪ modello di interazione cliente/servitore ▪ modelli di connessione, di replicazione, ecc. Finalità del corso: Il corso affronta i temi di base dei sistemi in rete e distribuiti, delineando le più comuni realizzazioni, con l'obiettivo di - analizzare i problemi, - conoscere le strategie di soluzione, - fornire una buona conoscenza operativa di strumenti e strategie di progetto. Esercitazione Preliminare: JAVA processi e thread 2. Ambienti Standard Standardizzazione Organizzazione a livelli ISO OSI ▪ generalità ▪ livello di trasporto e di rete ▪ livelli applicativi: sessione, presentazione Alcuni strumenti di comunicazione di ampio utilizzo Socket e relative primitive in Java Sistemi distribuiti Reti di Interconnessione Sistemi eterogenei Cliente/Servitore e oltre ISCRIZIONE ALL'ANAGRAFICA DEL CORSO PER LE ESERCITAZIONI 3. Protocolli TCP/IP TCP/IP e protocolli Suite TCP/IP: livelli di rete e trasporto Alcuni strumenti di comunicazione di ampio utilizzo Socket in C (per UNIX) http://lia.deis.unibo.it/Courses/RetiLA vedi anche per esami e laboratorio Reti di Calcolatori L-A 1 Reti di Calcolatori L-A 2 7. Ancora strumenti di comunicazione: RPC Chiamate di Procedura Remota o RPC Uso di operazioni RPC per il supporto a NFS Confronto RPC e RMI 4. Alcuni strumenti di riferimento: Socket JAVA Le socket strumenti standard di comunicazione Socket e relative primitive in Java Esercitazioni: socket in Java e in C Clienti e servitori di base ed evoluti (select) Esercitazione: Progetto RPC e strumenti 8. Sistemi Distribuiti e Servizi Sistemi operativi distribuiti Sistemi di Nomi per identificare risorse Gestione delle risorse File system Alcuni problemi e possibili soluzioni Sistemi di nomi e DNS 5. Applicazioni e servizi Internet TCP/IP applicazioni Applicazioni comuni per: ▪ terminale remoto virtuale telnet ▪ trasferimento di file ftp ▪ servizi Asincroni mail, news, e ... Alcuni strumenti a larga diffusione in ambiente UNIX e Windows ai diversi livelli Esempi di interazione in sistemi UNIX e TCP/IP Alcune applicazioni cliente servitore sviluppate nei diversi ambienti di più comune uso Esercitazione finale: Preparazione allo scritto finale 6. Operazioni Remote e RMI Chiamate di Procedura Remota caratteristiche e proprietà Remote Method Invocation come RPC in JAVA (RMI) Esercitazioni: Progetto RMI in Java Reti di Calcolatori L-A 3 Reti di Calcolatori L-A 4 Valutazione: La valutazione si basa su ogni elemento possibile: - esercitazioni (consegna in laboratorio) e - esami Propedeuticità: Si assume la conoscenza degli elementi di Sistemi Operativi Testi: G. Coulouris, J. Dollimore, T. Kindberg: "Distributed Systems: concepts and Design", terza edizione, Addison-Wesley, 2000. Gli esami consistono di una prova scritta preliminare e di una prova orale svolte in date diverse M.L. Liu: "Distributed Computing", Addison-Wesley, 2003. Prima prova - Scritto in Laboratorio La prova Scritta si svolge in laboratorio costituita da alcune parti di progetto, tutte necessarie per dimostrare la preparazione anche pratica progetto funzionante J.F. Kurose, K.W. Ross: "Internet e Reti", McGraw-Hill, 2001 (tradotto nel 2001 da "Computer Networking: a TopDown Approach Featuring the Internet", 2001). Seconda prova - orale La prova orale parte dallo scritto e dalle esercitazioni e si sviluppa su tutti i temi del corso D. Reilly, M. Reilly: "Java Network Programming and Distributed Computing", Addison-Wesley, 2002. Esercitazioni di laboratorio consentono se svolte e consegnate nei modi specificati di abbuonare una parte dello scritto D. Flanagan: "Java in a Nutshell - A Desktop Quick Reference", terza edizione, O'Reilly, 1999. Necessità di registrarsi per il corso Sono disponibili sia su Web sia come fotocopie dispense sugli argomenti del corso Reti di Calcolatori L-A A.S. Tanenbaum: "Computer Networks", PrenticeHall, 1988 (tradotto in "Reti di Calcolatori", Jackson). R.W. Stevens: "TCP/IP Illustrated: vol.1, vol.2, vol. 3", Addison-Wesley, ed. 1994/5/6, anche edizioni successive. 5 Reti di Calcolatori L-A 6 Piano Lezioni lunedì aula 6.1, ore 9,30-12,00 martedì aula 5.C, ore 9-12 ESAMI - PROGETTI in Laboratorio Lunedì 12 Dicembre - ore 15 Esercitazioni: Giovedì due turni Mercoledì 21 Dicembre - ore 9 Due turni - A: 14,30-16,30 B: 16,30-18,30 29 settembre - Esercitazione 0: Multithreading in Java 6 ottobre - 1° esercitazione: Socket in Java, senza connessione 13 ottobre - 2° esercitazione: Socket in Java, con connessione 20 ottobre - 3° esercitazione: Socket in C, esempi base 27 ottobre - 4° esercitazione: Socket in C, gestione avanzata 3 novembre - 5° esercitazione/ 10 novembre - 6° esercitazione: Java Remote Method Invocation - RMI Giovedì 12 Gennaio - ore 15 Due turni - A: [x ÷ x+2[ B: [x+2 ÷ x+4… compatibili con le postazioni disponibili Si possono sostenere due prove a sessione per il progetto ESAMI - ORALI Martedì 20 Dicembre - ore 9,00 Martedì 10 Gennaio - ore 9,00 17 novembre - 7° esercitazione/ 24 novembre - 8° esercitazione: Remote Procedure Call - RPC Venerdì 20 Gennaio - ore 9,00 1 dicembre - 9° Esercitazione finale: Preparazione esame Reti di Calcolatori L-A 7 Reti di Calcolatori L-A 8