Il corso affronta alcuni dei temi connessi con i sistemi in rete, delineando le più comuni soluzioni con l'obiettivo di acquisire conoscenza delle soluzioni, di analizzare i problemi, e di fornire una buona conoscenza operativa di strumenti e strategie di progetto.
Si assume la conoscenza degli elementi di Sistemi Operativi, e dei linguaggi Java e C.
Generalità dei sistemi distribuiti
Concetti di base e alcuni modellidi soluzione
Si presentano alcuni modelli caratteristici, come
Esercitazione Preliminare: JAVA processi e thread
Standardizzazione
Organizzazione a livelli ISO OSI
Alcuni strumenti di comunicazionedi ampio utilizzo: Socket e relative primitive in Java
Alcuni strumenti di comunicazione di ampio utilizzo: Socket in C (per UNIX)
Alcuni strumenti di comunicazione di ampio utilizzo Socket e relative primitive in Java
Esercitazioni: socket in Java e in C
Clienti e servitori di base ed evoluti (select)
TCP/IP applicazioni
Applicazioni comuni per:
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
Chiamate di Procedura Remota o RPC: caratteristiche e proprietà
Remote Method Invocation in JAVA (RMI)
Esercitazione: Progetto RMI in Java
Chiamate di Procedura Remota o RPC
Uso di operazioni RPC per il supporto a NFS
Esercitazione: Progetto RPC e strumenti
Esercitazione finale: preparazione allo scritto