Obiettivi e prerequisiti corso


Obiettivi

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.

Prerequisiti

Si assume la conoscenza degli elementi di Sistemi Operativi, e dei linguaggi Java e C.


Programma

Generalità e Concetti di Base

Generalità dei sistemi distribuiti

Concetti di base e alcuni modellidi soluzione
Si presentano alcuni modelli caratteristici, come

Esercitazione Preliminare: JAVA processi e thread


Ambienti Standard

Standardizzazione
Organizzazione a livelli ISO OSI

Alcuni strumenti di comunicazionedi ampio utilizzo: Socket e relative primitive in Java


Protocolli TCP/IP

Alcuni strumenti di comunicazione di ampio utilizzo: Socket in C (per UNIX)


Alcuni strumenti di riferimento: Socket JAVA

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)


Applicazioni e servizi Internet

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


Operazioni Remote e RMI

Chiamate di Procedura Remota o RPC: caratteristiche e proprietà
Remote Method Invocation in JAVA (RMI)

Esercitazione: Progetto RMI in Java


Ancora strumenti di comunicazione: RPC

Chiamate di Procedura Remota o RPC
Uso di operazioni RPC per il supporto a NFS

Esercitazione: Progetto RPC e strumenti


Sistemi Distribuiti e Servizi

Esercitazione finale: preparazione allo scritto