I sistemi distribuiti

Posted on at


Le architetture dei sistemi informativi si sono sviluppate ed evolute nel corso degli anni passando da schemi centralizzati a modelli distribuiti più aderenti alla necessità di decentralizzazione e cooperazione delle moderne organizzazioni. Si parla di sistema informatico centralizzato quando i dati e le applicazioni risiedono in un unico nodo elaborativo. Si parla invece di sistema informatico distribuito quando almeno una delle seguenti due condizioni è verificata:

- elaborazione distribuita: le applicazioni risiedono su più host che collaborano tra loro;

- base di dati distribuita: il patrimonio informativo è ospitato su più host.

Numerose sono state le definizioni di sistema distribuito date a partire dagli anni 70 ma nessuna di queste è pienamente soddisfacente: ognuna risente delle tecnologie e della visione prevalente (hardware o software) all’epoca in cui è stata formulata.

"Un sistema distribuito consiste di un insieme di calcolatori indipendenti che appaiono all’utente del sistema come un singolo calcolatore” (Tanenbaum, 1995).

In questa definizione però Tanenbaum non tiene conto del fatto che un sistema distribuito può essere implementato al di sopra di un sistema operativo centralizzato multitasking, come per esempio NIX e Windows. Vediamo di seguito altre possibili definizioni.

Un sistema distribuito è:

1 - un sistema in cui l’elaborazione delle informazioni è distribuita su più calcolatori anziché centralizzata su una singola macchina;

2 - un sistema di elaborazione in cui un numero di componenti coopera comunicando in rete;

3 - un sistema in cui i componenti hardware o software posizionati in calcolatori collegati in rete comunicano e coordinano le proprie azioni solo tramite lo scambio di messaggi [Coulouris & Dollimore];

4 - un sistema in cui il fallimento di un calcolatore di cui nemmeno conosci l’esistenza può rendere inutilizzabile il tuo calcolatore [Lamport ].

Un sistema distribuito è costituito da un insieme di applicazioni logicamente indipendenti che collaborano per il perseguimento di obiettivi comuni attraverso una infra- struttura di comunicazione hardware e software.

Le applicazioni che costituiscono un sistema distribuito hanno ruoli diversi all’interno del sistema stesso, e prendono i seguenti nomi:

Cliente (Client): una applicazione assume il ruolo di Cliente quando è utilizzatore di servizi messi a disposizione da altre applicazioni;

Servente (Server): una applicazione assume il ruolo di Servente quando è fornitore di servizi usati da altre applicazioni;

Attore (Actor): una applicazione assume il ruolo di Attore quando assume in diverse situazioni nel contesto del sistema sia il ruolo di Cliente che quello di Servente.

Internet e il Web sono due esempi di sistemi distribuiti, ma non tutti i sistemi distribuiti sono collegati a Internet e Web e sono utilizzabili da tutti gli utenti, come per esempio:  internet specifiche dei sistemi aziendali, sistemi di calcolo scientifico, server farm ecc.;

Esiste una “sottile” differenza tra sistemi distribuiti e sistemi paralleli: - un sistema distribuito è un insieme di computer indipendenti che comunicano e possono cooperare per risolvere problemi; - un sistema parallelo è un insieme di elementi di elaborazione che comunicano e cooperano per risolvere velocemente problemi di grandi dimensioni.



About the author

darkrei

cool filmannex user

Subscribe 0
160