Comunicazione tra processi: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 59:
 
L'elaborazione parallela dei processi consiste nel eseguire interi processi o parti di essi in modalità parallela.
Il sistema operativo può richiedere l'esecuzione di uno o più processi mentre un altro processo è in fase di esecuzione. I diversi processi che vengono lanciati in esecuzione prendono il nome di ''Coroutine'', segnalano il completamento dell'esecuzone attraverso la primitiva ''Resume'' e cedono il controllo alad un'altra ''Coroutine''.
Quando un processo avanza in un punto in cui può essere avviata l'esecuzione di un altro processo in maniera parallela rispetto al primo, il sistema operativo attraverso la primitiva ''fork'' , genera un processo figlio che avanza in maniera indipendente dal padre. Il processo padre continua la sua esecuzione fin quando non incontra la primitiva ''join'' che controlla lo stato di avanzamento del processo figlio.
Un'altra forma di elaborazione parallela riguarda la possibilità che all'interno di uno stesso processo possano essere lanciante in esecuzione diverse istruzioni in modo parallelo, tale esecuzione viene realizzata attraverso le primitive ''Cobegin'' e ''Coend''.