Argomento 1: definizioni - caratteristiche - problematiche Flashcards
Dare la definizione di sistema distribuito
Un sistema distribuito è un insieme di elementi computazionali autonomi che, alla vista dell’utente, sono un solo sistema coerente
Cosa sono gli elementi computazionali (ossia i nodi del sistema)?
I nodi del sistema sono applicazioni (software) o hardware(computer o server)
Cosa possiamo dire sul clock nei sistemi distribuiti?
Siccome nei sistemi distribuiti abbiamo a che fare con elementi autonomi, non abbiamo una nozione globale di clock, quindi non vi è sincronizzazione tra i vari elementi, nonostante ciò, si ha la possibilità di onoscere lo stati degli altri nodi tramite message passing
Che tipi di sistemi distribuiti abbiamo nominato?
Abbiamo nominato sistemi distribuiti aperti e chiusi.
In quelli aperti non ci dobbiamo preoccupare di gestire gli ingressi e le uscite nel sistema, così come non dobbiamo preoccuparci delle autorizzazioni per inviare messaggi.
In quelli chiusi invece la situazione è più complicata, perchè dobbiamo gestire gli ingressi/uscitte e l’autorizzazione per i messaggi messaggi
Cosa possiamo dire sui fallimenti in un sistema distribuito?
In un sistema distribuito, essendo i nodi autonomi, quando si ha un fallimento esso viene detto parziale, in quanto non coinveolge tutto il sistema ditribuito ma solo alcuni nodi/un nodo del sistema, questo permette di recuperare, magari velocemente, la situazione, è comunque difficile nascondere all’utente un fallimento.
Cosa possiamo dire sulla memoria di un sistema distribuito?
In un sistema distribuito non vi è memoria condivisa, in quanto ogni nopdo ha la propria memoria
Quali sono i principali ostacoli di un sistema distribuito?
I 4 “problemi” di un sistema distribuito sono:
- identificare la controparte (naming)
- accedere alla controparte (access point)
- comunicare con la controparte (protocol)
- capire il contenuto dei messaggi
Definire il concetto di trasparenza nei sistemi distribuiti, dire quando ha senso non implementarla
La trasparenza è una caratteristica più o meno forte di un sistema distribuito, permette all’utente di non aver la necessità di sapere in dettaglio il funzionamento del sistema.
Spesso la trasparenza non viene implementata in maniera estrema, in quanto farlo è molto difficile e ha dei costi in termini di performance, ad esempio, se consideriamo il fallimento di un server, possiamo prendere in cosiderazione di segnalaretale fallimento all’utente, per fargli risparmiare tempo; così come può avere senso far sapere ad un utente dove si trova un nodo, ad esempio per un utente che cerca la stampante più vicina a sè.
Elencare alcuni tipi di trasparenza
- distribution transparency
- access transparency
- migration transparency
- replication transparency
- location transparency
- naming transparency
- failure transparency
Quale è la definizione corretta di middleware?
- È uno strato software che virtualizza l’hardware e fornisce servizi alle applicazioni
soprastanti - È uno strato software che sta sopra i sistemi operativi di rete e fornisce servizi
alle applicazioni soprastanti - È uno strato software che sta sopra il sistema operativo di rete per simulare un sistema
operativo distribuito - È uno strato software che sostituisce i sistemi operativi di rete e fornisce servizi alle
applicazioni soprastanti
- È uno strato software che sta sopra i sistemi operativi di rete e fornisce servizi
alle applicazioni soprastanti
Il concetto di trasparenza nei sistemi distribuiti significa che:
- Occorre utilizzare meccanismi di base per accedere alle funzionalità desiderate
- È possibile accedere alle funzionalità di più basso livello rispetto alle funzionalità
utilizzate - Non è necessario conoscere i dettagli con cui vengono realizzate le funzionalità
utilizzate - Sono visibili i dettagli con cui vengono realizzate le funzionalità utilizzate
- Non è necessario conoscere i dettagli con cui vengono realizzate le funzionalità
utilizzate
Il termine Failure Transparency sta ad indicare che. . .
- L’utente può riconoscere un fallimento parziale e porvi rimedio
- Il sistema operativo può far ripartire un server dopo un fallimento
- Un sistema è in grado di effettuare un abort per riportare ad uno stato consistente
dopo un fallimento - Un sistema è in grado di portare a termine un compito anche in presenza di
fallimenti parziali
- Un sistema è in grado di portare a termine un compito anche in presenza di
fallimenti parziali
Il termine Migration/Mobility Transparency sta ad indicare che…
- è possibile portare il software su macchine diverse senza modifiche
- Lo spostamento di dati e/o software comporta modifiche nei programmi utente
- Lo spostamento di dati e/o software non comporta modifiche nei programmi
utente - è possibile accedere a dati e/o software da qualsiasi punto fella rete
- Lo spostamento di dati e/o software non comporta modifiche nei programmi
utente
Il termine Persistence Transparency sta ad indicare che. . .
- È possibile memorizzare i dati via rete;
- È possibile memorizzare i dati su disco;
- Una risorsa (software o dati) viene conservata in memoria;
- Una risorsa (software o dati) può essere in memoria o su disco.
- Una risorsa (software o dati) può essere in memoria o su disco.
Il termine Access Transparency sta ad indicare che:
- Accesso a risorse locali e remote con le stesse operazioni e con lo stesso formato
dei dati - |non abbiamo altre opzioni|
- Accesso a risorse locali e remote con le stesse operazioni e con lo stesso formato
dei dati