Sei sulla pagina 1di 2

Le applicazioni sui sistemi distribuiti sono costituite da più processi cooperanti paralleli.

I
sistemi distribuiti sono classificati in:
- SISTEMI DI CALCOLO (calcolo ad alte prestazioni). 2 configurazioni: CLUSTER o
GRID
- SISTEMI INFORMATIVI (web e sistemi legacy integrati da tecnologia mobile)
- SISTEMI PERVASIVI (sottoparti di sistemi più grandi e connessioni wireless). ES:
PAN, wearable computing e reti di sensori

I vantaggi dei sistemi distribuiti sono:


- AFFIDABILITA’ (il SD sopravvive ad un guasto grazie alla ridondanza)
- INTEGRAZIONE (componenti eterogenei devono potersi interfacciare allo stesso
modo con il SD)
- TRASPARENZA (il SD viene visto come un unico sistema di elaborazione)
- ACCESSO (accesso a risorse locali e remote con le stesse procedure)
- LOCAZIONE (si accede ad una risorsa senza sapere dove si trova) ES: URL
nasconde indirizzo IP
- ai GUASTI (viene mascherato il guasto e il recovery di una risorsa)
- ECONOMICITA’ (rapporto qualità prezzo migliore dei sistemi centralizzati)
- APERTURA in modo da avere:
- INTEROPERABILITA’ (implementazioni diverse possono esistere per lo
stesso sistema)
- PORTABILITA’ (applicazione con medesima interfaccia su OS diversi)
- AMPLIABILITA’ (ampliamento HW o SW del SD con facilità)
- CONNETTIVITA’ E COLLABORAZIONE (si possono condividere risorse HW e SW
con vantaggi economici) ES: si possono condividere stampanti particolari con più
persone
- PRESTAZIONI E SCALABILITA’ (la crescita del SD migliora le prestazioni, no limite
di risorse disponibili poiché basta ampliare il sistema)

Gli svantaggi della distribuzione sono:


- PRODUZIONE DI SW (molti linguaggi diversi da utilizzare e nascita del protocollo
TCP-IP)
- COMPLESSITA’ (interconnessione degli host e instradamento corretto dei messaggi,
valutazione delle performance del sistema)
- SICUREZZA (per i sistemi centralizzati era sufficiente proteggere il sistema
dall’accesso fisico delle persone nei locali contenenti i dispositivi da proteggere,
mentre per i SD bisogna mettere in sicurezza anche lo scambio di dati tra gli host)
- COMUNICAZIONE (tecniche sperimentali portano ad un aumento della complessità)

Le architetture distribuite si classificano in:


- SISD (1 CPU, 1 programma alla volta in esecuzione, macchina di Von Neumann)
ES: pc, workstation e mainframe
- SIMD (possono essere vector processor o array processor, più processori eseguono
stessa istruzione ma con flussi di dati paralleli, utilizzati per calcoli vettoriali e
matriciali in ambiente grafico)
- MISD (più istruzioni sullo stesso flusso di dati, ogni processore ha una propria
memoria, utile per la crittografia)
- MIMD (parallelismo fisico, ES: lan di un pc) possono essere:
- a memoria fisica condivisa (MIMD MULTIPROCESSOR, stesso spazio di
indirizzamento condiviso)
- a memoria privata (MIMD MULTICOMPUTER, ogni processore possiede una
sua memoria privata, comunicazione a scambio di messaggi)

Evoluzione delle architetture distribuite:


- A TERMINALI REMOTI (elaborazioni in un mainframe con archivi centralizzati e
terminali omogenei privi di capacità elaborative)
- ARCHITETTURA CLIENT-SERVER (client hanno capacità elaborative e chiedono
servizi ad un server, architettura che più si presta a far comunicare cooperare e
comunicare entità eterogenee)
- ARCHITETTURA WEB-CENTRIC (client servono solo per interfaccia grafica, server
gestiscono i documenti ed elaborano i dati, architetture possono essere Web
tradizionali o multilivello) ES: applicazioni web
- ARCHITETTURA COOPERATIVA (evoluzione dell’architettura client-server che
sfrutta l’incapsulamento) ES di standardizzazione: OdP e COBRA
- ARCHITETTURA COMPLETAMENTE DISTRIBUITA (in opposizione all’architettura
web-centric, sistemi groupware che dialogano tra loro e offrono servizi, servizi
spesso duplicati per garantire immunità ai guasti)
Tecnologie più importanti sono:
- OMG (permette di creare sistemi distribuiti)
- RMI (permette ai processi java di comunicare attraverso una rete)
- DCOM (estensione della tecnologia COM)

Le architetture distribuite introducono il middelware, che ha lo scopo di permettere e


garantire l’interoperabilità delle applicazioni su diversi OS. Rende facilmente programmabili i
i SD offrendo una specifica modalità di interazione. Le funzionalità del middelware sono:
- servizi di astrazione e cooperazione
- servizi per le applicazioni
- servizi di amministrazione del sistema
- servizio di comunicazione
- ambiente di sviluppo dell’applicativo

Potrebbero piacerti anche