7) Cosa si intende per esecuzione remota? Come si realizza?
L’esecuzione remota è la possibilità di attivare un processo su un nodo diverso e di interagire con esso.
È disponibile a livello di:
Ambiente omogeneo vs. eterogeneità. In ambiente eterogeneo:
sono necessari i seguenti requisiti:
Implementazione
Si usa un servizio di registrazione
Il processo avviene in due fasi:
inizializzazione:
La richiesta per la creazione di un nuovo processo segue i normali meccanismi
Si interessa un gestore remoto, anziché locale, delle risorse del processo (file aperti e risorse di comunicazione)
La richiesta può essere fatta in broadcast a più gestori
Un gestore richiede al kernel la creazione e inizializzazione del processo
C’è la necessità di gestori al fine di realizzare la trasparenza del servizio; i gestori infatti distinguono i servizi locali e servizi remoti fornendo una unica interfaccia all'utilizzo
esecuzione; non c'è differenza rispetto al caso locale:
- spazio inizializzato allo stesso modo
- ogni riferimento è indipendente dalla località
- kernel e gestori sono omogenei in locale o remoto
Per quanto riguarda la terminazione:
- uso di primitive di abort
- distruzione dei costrutti per il processo (porte)